Django常用配置总结——settings.py

1.文件代理

# 静态资源访问的起始路径
STATIC_URL = '/static/'
# 指定静态资源所在的目录
STATICFILES_DIRS = [
	os.path.join(BASE_DIR, 'themes', THEME, 'static'),
	]
# 设置收集静态资源的路径(部署时使用)
STATIC_ROOT = '/home/tarena/PycharmProjects/project/FCL/front/static'


# 文件上传时的保存路径
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/')
# 访问上传文件的起始路径
MEDIA_URL = '/media/'

# 在主路由文件中添加medie相关隐射,正式环境中文件将由nginx进行代理
if settings.DEBUG:
	urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

2.session相关

# 关闭浏览器时session失效
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
#设置session在cookie中的保存时长
SESSION_COOKIE_AGE = 60*30

3.xadmin

# 设置xadmin的系统标题和底部展示信息
XADMIN_TITLE = 'BlogType管理后台'
XADMIN_FOOTER_TITLE = 'power by Master-Sun'

4.email

# 将邮件打印在终端上,便于测试
# EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = 'smtp.163.com'    # SMTP服务器主机
EMAIL_HOST_USER = private_settings.EMAIL_HOST_USER    # 邮箱账号
EMAIL_HOST_PASSWORD = private_settings.EMAIL_HOST_PASSWORD    # 这里填的是授权码
EMAIL_PORT = 25    # SMTP端口,默认25
EMAIL_USE_TLS = True    # 是否采用TLS安全连接
EMAIL_FROM = private_settings.EMAIL_FROM    # 显示的发件人

5.验证码:django-simple-captcha

# 设置 captcha 图片的默认大小
CAPTCHA_IMAGE_SIZE = (100, 40)
# 字符个数
CAPTCHA_LENGTH = 4
# 超时(minutes)
CAPTCHA_TIMEOUT = 1
# 验证码类型:默认为普通字符
# CAPTCHA_CHALLENGE_FUNCT = 'captcha.helpers.random_char_challenge'
# 简单计算
CAPTCHA_CHALLENGE_FUNCT = 'captcha.helpers.math_challenge'

6.mysql

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'typeidea_db',
        'USER': '****',
        'PASSWORD': '****',
        'HOST': '****',
        'PORT': 3306,
        # 配置django和数据库的持久化连接(复用数据库连接),默认值为0
        'CONN_MAX_AGE': 5 * 60,
        # 配置数据库连接相关的参数
        'OPTIONS': {'charset': 'utf8mb4'},
    },
}

7.redis缓存:django-redis,hiredis

REDIS_URL = '127.0.0.1:6379:1'

CACHES = {
    'default': {
        'BACKEND': 'django_redis.cache.RedisCache',
        'LOCATION': REDIS_URL,
        'TIMEOUT': 300,    # 缓存超时时间(默认为300秒,None表示永不过期)
        'OPTIONS': {
            # 'PASSWORD': '****',
            # 'MAX_ENTRIES': 300,  # 最大缓存记录的数量(默认300)
            'CLIENT_CLASS': 'django_redis.client.DefaultClient',
            'PARSER_CLASS': 'redis.connection.HiredisParser',    # 加速解析
        },
        'CONNECTION_POOL_CLASS': 'redis.connection.BlockingConnectionPool',
    }
}

8.登入登出

# 使用视图类进行登陆和注销,成功后重定向的页面地址
LOGOUT_REDIRECT_URL = '/'
LOGIN_REDIRECT_URL = '/'    # 如有登录页中有next参数,则优先跳转至next对应的地址

# 重定向到登陆的页面:如使用login_required装饰器的视图
LOGIN_URL = 'user:login'

9.重写User类后

# 重写User类后,需指定当前使用的User类
AUTH_USER_MODEL = 'user.UserProfile'

10.时区

LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'

# 设置成True后,存入数据库的所有时间都会转为utc时间(方便查询时时区转换)
# 应用不跨时区时直接设置为False即可
USE_TZ = False

0.其他

APPEND_SLASH = False    # 是否自动在url末尾添加/
发布了106 篇原创文章 · 获赞 8 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43667990/article/details/102645874