zhouxuan 2020-02-09
Django设置文件包含了我们项目的所有Django安装配置,这个文件一般在项目的文件夹下,例如我们创建项目名为:myblog,那么这个配置文件settings.py就是myblog文件夹下

一、在项目的根文件夹下创建static和media两个目录。static用来存放模板CSS、JS、图片等静态资源,media用来存放上传的文件。
settings.py文件里找到SATTIC_URL,然后在后面加上如下代码:
myblog/settings.py
#设置静态文件目录和名称
STATIC_URL = ‘/static/‘
#加入下面代码
#这个是设置静态文件夹目录的路径
STATICFILES_DIRS = (
os.path.join(BASE_DIR, ‘static‘),
)
#设置文件上传路径,图片上传、文件上传都会存放在此目录里
MEDIA_URL = ‘/media/‘
MEDIA_ROOT = os.path.join(BASE_DIR, ‘media‘)如果我们想在浏览器里访问自己上传的文件,则需要在urls里做如下的设置:
myblog/urls.py
from django.urls import re_path
from django.views.static import serve
from . import settings # 导入配置文件settings.py
urlpatterns = [
...
re_path(‘^media/(?P<path>.*)$‘, serve, {‘document_root‘: settings.MEDIA_ROOT}),
]二、配置模板路径
settings.py文件里找到TEMPLATES,设置‘DIRS‘,然后修改如下代码:
myblog/settings.py
TEMPLATES = [
{
‘BACKEND‘: ‘django.template.backends.django.DjangoTemplates‘,
‘DIRS‘: [os.path.join(BASE_DIR, ‘templates‘)], # 修改这个地方,修改前为‘DIRS‘:[]
‘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文件夹三、设置域名访问权限
settings.py文件里找到ALLOWED_HOSTS,然后修改如下代码:
myblog/settings.py ALLOWED_HOSTS = [] #修改前 ALLOWED_HOSTS = [‘*‘] #修改后,表示任何域名都能访问。如果指定域名的话,在‘‘里放入指定的域名即可
四、修改项目的语言和时区
settings.py文件里找到LANGUAGE_CODE 和 TIME_ZONE,然后修改如下代码:
myblog/settings.py #语言,修改前为英文 LANGUAGE_CODE = ‘en-us‘ #修改后 LANGUAGE_CODE = ‘zh-hans‘ #语言修改为中文,主要针对admin页面 #时区,修改前 TIME_ZONE = ‘UTC‘ #修改后 TIME_ZONE = ‘Asia/Shanghai‘
五、注册APP(注册应用)
settings.py文件里找到INSTALLED_APPS,然后修改如下代码:
myblog/settings.py
INSTALLED_APPS = [
‘django.contrib.admin‘,
‘django.contrib.auth‘,
‘django.contrib.contenttypes‘,
‘django.contrib.sessions‘,
‘django.contrib.messages‘,
‘django.contrib.staticfiles‘,
‘blog‘,
# 添加APP的名称,新建的应用都要在这里添加
]六、mysql数据库配置
settings.py文件里找到INSTALLED_APPS,然后修改如下代码:
myblog/settings.py
########在settings.py中原来默认的sqlite3
DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.sqlite3‘,
‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘),
}
}
############修改成mysql如下
DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘: ‘blog‘, #你的数据库名称
‘USER‘: ‘root‘, #你的数据库用户名
‘PASSWORD‘: ‘‘, #你的数据库密码
‘HOST‘: ‘‘, #你的数据库主机,留空默认为localhost
‘PORT‘: ‘3306‘, #你的数据库端口
}}七、设置打印日志到console
settings.py文件中新增LOGGING,添加如下代码:
LOGGING = {
‘version‘: 1,
‘disable_existing_loggers‘: False,
‘handlers‘: {
‘console‘: {
‘level‘: ‘DEBUG‘,
‘class‘: ‘logging.StreamHandler‘,
},
},
‘loggers‘: {
‘django.db.backends‘: {
‘handlers‘: [‘console‘],
‘propagate‘: True,
‘level‘: ‘DEBUG‘,
},
}
}当我们的操作与数据库相关时 会将我们的写的语句翻译成sql语句在服务端打印。