两个目录的区别:
工程目录是指包含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目录下创建一个文件,用浏览器访问,测试是否成功。
注:如果是文本文件,则直接会在浏览器打开,其它文件,则会直接下载。
浙公网安备 33010602011771号