美文网首页
配置文件(settings.py)

配置文件(settings.py)

作者: myjourney | 来源:发表于2018-08-10 11:09 被阅读94次

1.BASE_DIR

一般是使用默认值

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

os.path.dirname(__file__)返回脚本的路径,需要注意:
1>必须是实际存在的.py文件,如果在命令行执行,则会引发异常NameError: name '__file__' is not defined
2>在运行的时候如果输入完整的执行的路径,则返回.py文件的全路径 如:Python c:/test/test.py  则返回路径 c:/test 如果是python test.py 则返回空

3>os.path.abspath返回的是.py文件的绝对路径

 2.SECRET_KEY加密盐

# Quick-start development settings - unsuitable for production

# See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!

SECRET_KEY = 'l_)n=n8u0niz=&!u-o(^xnw72ooqj(mf!2+9=)#z$fl+2ct=u7'

该配置是diango的安全配置,防止攻击用的,该值是startProject时用系统的某个算法产生的.

3.部署配置

1>调试模式是否开启:DEBUG = True/False

DEBUG配置为True的时候会暴露出一些出错信息或者配置信息以方便调试.但是在上线的时候应该将其关掉,防止配置信息或者敏感出错信息泄露.

2>访问web服务器的ip配置:

ALLOWED_HOSTS 是为了限定请求中的host值,以防止黑客构造包来发送请求.只有在列表中的host才能访问.强烈建议不要使用*通配符去配置,另外当DEBUG设置为False的时候必须配置这个配置.否则会抛出异常.配置模板如下:

ALLOWED_HOSTS = [

    '.example.com',  # Allow domain and subdomains

    '.example.com.',  # Also allow FQDN and subdomains

]

部署的时候请修改DEBUG和ALLOWED_HOSTS的值,一般将其修改为FALSE和指定ip,例如['127.0.0.1']

4.app的安装配置,即INSTALLED_APPS设置

# Application definition
 INSTALLED_APPS = [
 'django.contrib.admin', #管理站点
 'django.contrib.auth', #认证系统
 'django.contrib.contenttypes', #用于内容类型的框架
 'django.contrib.sessions', #会话框架,session数据可以在数据库中的diango_session表中查看.
 'django.contrib.messages', #消息框架
 'django.contrib.staticfiles', #管理静态文件的框架
 'login', #自己的APP模块
 ]

5.diango的中间件配置

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', ]

一般的diango配置如图,如果需要自己添加中间件配置的,也可以自己添加.所谓中间件就是从用户请求到用户请求结束期间所做的操作,即用户的请求会次从上到下依次执行MIDDLEWARE中的配置,然后服务器响应用户的时候会再次从下至上依次执行,和Java的Filter很相像:

6.ROOT_URLCONF

一个字符串,表示你的根URLconf的模块名.默认配置好的.

例如:

ROOT_URLCONF = 'DjangoDemo.urls'

7.TEMPLATES

相关文章

网友评论

      本文标题:配置文件(settings.py)

      本文链接:https://www.haomeiwen.com/subject/gymqbftx.html