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语句在服务端打印。