- 02、Project Setup
- 03、Url Routing
- 04、Template Setup
- 05、Static File
还在更新中,文章很粗糙,应该读不下去 02、Project Setup
使用django-admin startproject xxx来创建项目(在安装了django的前提下。最好使用virtualenv)
自动生成的文件的作用
asgi.py
settings.py
urls.py
wsgi.py
_init.py
使用django-admin startapp xxx来创建app
使用python manage.py runserver来运行项目
这样就成功创建了项目
social_book 项目名
core app名
/core/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index')
]
/core/views.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse('Welcom To Social Book')
/social_book/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('core.urls')),
]
使用python manage.py runserver运行项目
/social_book/settings.py
……
from pathlib import Path
# 导入os库
import os
……
……
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 添加app
'core',
]
……
……
# 配置templates位置
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
在项目中创建templates文件夹(和app同级)
将index.html放到templates中
修改views调用index.html
/core/views.py
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return render(request, 'index.html')
因为还有一些其他的静态文件没有加载进来,所以页面显的很粗糙
05、Static Filestatic官方说明:
管理静态文件(比如图片、JavaScript、CSS) | Django 文档 | Django (djangoproject.com)
/social_book/settings.py
…… STATIC_URL = '/static' STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),) ……
STATIC_ROOT:通过执行python manage.py collectstatic可以收集所有的静态文件放到一个目录当中, 及STATIC_ROOT指向的目录。STATIC_ROOT通常是在项目部署的时候才发挥作用
STATIC_URL:配置了这个之后可以直接在app下创建static文件夹来存储静态文件(项目创建时默认有)
STATICFILES_DIRS:如果有一些静态文件是不和任何app挂钩的。即不再任何一个app的目录下。那么可以在settings.py中添加STATICFILES_DIRS,以后template就会在这个列表的路径中查找静态文件
在和app同级的目录下创建static文件夹,将需要用到的静态文件复制进去,



