两个目录的区别:
工程目录是指包含manage.py文件的目录
配置目录是批包含settings.py文件的目录
在配置目录中找到并打工settings.py文件,做以下配置:
01 DEBUG
DEBUG=True:用于开发环境
DEBUG=False:用于生产环境
02 ALLOWED_HOSTS
指定发布服务器IP或域名,开发期直接输入'*'
ALLOWED_HOSTS = ['*']
03 INSTALLED_APPS
把创建的APP或相应的包按以下格式加入到INSTALLED_APPS列表中。
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', # djangorestframework框架 'GeneralTools.apps.GeneraltoolsConfig', 'Applications.Organizations.apps.OrganizationsConfig', 'Applications.WeChart.apps.WechartConfig', ]
04 MIDDLEWARE
设置中间件
开发期禁止Csrf
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', # 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]
05 TEMPLATES
设置模板路径,即每个APP下的Templates路径。
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [ os.path.join(BASE_DIR, 'Applications/Organizations/Templates'), # 新增模板路径 os.path.join(BASE_DIR, 'Applications/WeChart/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', ], }, }, ]
06 时区和时间配置
LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Chongqing'
07 静态文件配置
静态文件配置中,要增加STATIC_ROOT,这个路径是服务器路径,用于搜集静态文件,并产生静态文件目录。搜集静态文件,主要用于nginx web服务器部署。
STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), ) STATIC_ROOT = '/publish/run/static'
08 设置媒体文件路径
媒体文件路径,是指所有文件都可以通过url直接访问,而且是在url根目录下直接访问。比如:一张图片,一个视频,通过媒体文件路径的配置,就可以直接在浏览器中直接输入IP/文件名进行访问。当然,如果媒体文件路径下有目录,则需要用IP/媒体文件路径及文件名。
08.1 在Applications目录下创建一个名为11.txt的文件并输入一些内容。
08.2 在settings.py文件中,增加一项设置
MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
08.3 在工程主路由下增加一个路由:
from django.contrib import admin from django.urls import path from django.conf.urls.static import static from BeefSoup import settings urlpatterns = [ path('admin/', admin.site.urls), # 其它路由 ] urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
05.4 检查文件是否访问成功
在media目录下创建一个文件,用浏览器访问,测试是否成功。
注:如果是文本文件,则直接会在浏览器打开,其它文件,则会直接下载。