settings.py 配置汇总

数据库配置:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 数据库引擎
        'NAME': ' ', #数据库名称
        'HOST': ' ', #连接地址
        'USER': 'root', #连接用户
        'PASSWORD': ' ', #密码
        'POST': '3306' #端口

    }
}            
PS :如果数据库包用的是 pysqmyl
    需要在项目init文件下 配置
    import pymysql
    pymysql.install_as_MySQLdb()


请求头配置
1.服务器请求头配置
ALLOWED_HOSTS = ['网站域名'] 或者 = ['服务器监听的IP地址']

2.局域网访问请求头配置
-如果要在局域网其他主机也能访问此主机的Django服务
-python3 manage.py runserver 0.0.0.0:指定端口. / 0代表所有
-ALLOWED_HOSTS= ['内网ip']   # 可以是列表形式,填入多个请求头
-ALLOWED_HOSTS= ['*']   #表示任何请求头都能访问到当前项目
-访问方式:内网ip:指定端口

                 
语言配置:
LANGUAGE_CODE = 'zh-Hans'     #中文


时区配置:
TIME_ZONE = 'Asia/Shanghai'       #东八时区


新app注册:
INSTALLED_APPS = ['app_name'] #插入app名


 
缓存:
# 缓存
# 缓存配置的数据库表需要用python命令创建出来:python3 manage.py createcachetable       
# 1.CACHES配置 2.命令创建LOCATION对应的数据表
# 


CACHES = {
    # 默认配置数据库缓存
    'default': {
        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',  # 数据库引擎
        'LOCATION': 'my_cache_table',  # 缓存数据库表名
        'TIMEOUT': 300,  # 缓存保存时间 单位秒,默认值300
        'OPTIONS': {
            'MAX_ENTRIES': 300,  # 缓存最大数据条数
            'CULL_FREQUENCY': 2,  # 缓存条数达到最大值时,删除1/x的缓存数据
        },
    # 本地缓存
    'local': {
    'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
    'LOCATION': 'unique-snowflask'
},
# 将缓存数据存在到本地文件夹
    'file': {
     'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
     'LOCATION': 'var/tmp/django_cache'  #文件夹的路径

 }
    }
}



Session配置:
INSTALLED_APPS: django.contrib.session
MIDDLEWARE:django.contrib.sessions.middleware.SessionMiddleware
PS:以上两项配置默认存在
#手动配置项 可选
SESSION_COOKIE_AGE:指定sessionID在cookies中保存的时长(默认两周),例如:SESSION_COOKIE_AGE = 60*60*24*7*2
SESSION_EXPIRE_BROWSER_CLOSE:浏览器关闭时,session是否失效 默认为False,设置为True浏览器关闭session会失效
PS:Django中的session数据存储在数据库中,所以使用session前确定已执行过migrate




中间件注册:
# settings.py  中需要注册一下自定义的中间件
# 配置为数组,中间件被调用时先以先上到下,再由下到上的顺序调用
# 在项目路径下创建middleware(自定义名称)中间件文件夹
MIDDLEWARE = [
    'middleware.py_name.calss_name',  ##中间件文件夹/py文件/中间件类
]



内建用户系统登录失败跳转配置
LOGIN_URL = '登录失败跳转的地址'


指定内建用户系统user表对应的模型类
AUTH_USER_MODEL = '应用名.类名'
#此操作要在第一次Migrate前进行


文件上传/media资源配置
MEDIA_URL = '/media/'  # 路由标识
MEDIA_ROOT = os.path.join(BASE_DIR,'media')  #文件夹路径

# 主路由绑定media配置
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('admin/', admin.site.urls),
]

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)


邮件相关配置:

#邮件基础配置
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'  # Django邮件引擎
EMAIL_HOST = 'smtp.xx.com'  # 对应邮箱SMTP服务器地址,例如smtp.qq.com / smtp.163.com等
EMAIL_PORT = 25  # SMTP服务端口号
EMAIL_HOST_USER = 'xxxx@xx.com'  # 发送邮件等邮箱,例如 test@163.com
EMAIL_HOST_PASSWORD = '******'  # 对应邮箱设置里面获得的授权码,而不是邮箱的登录密码
EMAIL_USE_TLS = False # 与SMTP服务器通信时,是否启动TLS链接(安全链接),默认False


#可追溯报错信息配置
#关闭调试模式
DEBUG = False

#错误报告接收方
ADMINS = [('username','email@qq.com'),('username','email@qq.com')] #接收人名字/邮件地址

#发送错误报告方,默认为root@localhost账户,多数邮件服务器会拒绝,需要修改成配置的邮箱
SERVER_EMAIL = 'email配置中的邮箱'



Django-uwsgi配置
添加配置文件 项目同名文件夹下/uwsgi.ini  #文件名可自定义 
整个文件以[uwsgi]开头,ini文件中注释是以及;开头
;uwsgi.init 配置
;ini文件中注释是以;开头

[uwsgi]

http =  地址:端口

socket = 地址:端口[此方式需要有nginx]

;使用socket方式的话 需要将http方式禁掉,二选一

chdir= 绝对路径项目地址

wsgi-file = wsgi.py文件路径,相对路径, 项目同名文件夹/wsgi.py

process = 进程个数

threads = 每个进程的线程个数

pidfile = uwsgi.pid  - 服务的pid记录文件

daemonize = uwsgi.log - 服务的日志文件位置

master = True  - 开启主进程管理模式

#settings.py配置

1.修改settings.py将DEBUG=True 改为DEBUG = False
2.修改settings.py 将ALLOWED_HOSTS改为 = ['网站域名'] 或者 = ['服务器监听的IP地址']





 
静态文件配置

STATIC_URL = '/static/'
 指定访问静态文件时时需要通过/static/xxx 或者 http://127.0.0.1:8000/static/xxx
 xxx表示具体的静态资源位置


#  测试环境静态文件配置
STATICFILES_DIRS = os.path.join(BASE_DIR,'static')
STATICFILES_DIRS保存的是静态文件在服务器端存储的位置
如果配置项的值是元组,括号结尾一定要加逗号
在项目下创建static静态文件夹,配置中使用op.path.join拼接项目路径与静态文件夹路径,静态配置文件/夹名字可以自定义

# 正式环境静态文件配置
创建新路径-主要存放Django所有静态文件 如/home/项目名_static/

STATIC_ROOT = '/home/项目名_static/static'
# 进入项目后执行 python3 manage.py collectstatic
# 执行该命令后,Django将所有的文件复制到STATIC_ROOT中,包括Django内建的静态文件

 

上一篇:pip install npm


下一篇:Python项目实战 2.2:用户注册.用户模型类