django-配置

利用django创建好工程之后,系统会默认在工程下工程名文件夹下生成一个settings.py文件。

1.BASE_DIR

 其中__file__ 用于获取到当前文件(settings.py)的路径,os.path.abspath(__file__)用于返回当前文件的绝对路径,os.path.dirname() 用于返回当前文件的绝对路径所在目录,再来一个os.path.dirname()就是目录的上一级,BASE_DIR 即为 项目 所在目录,后面的与目录有关的变量都用它,这样使得移植性更强。

2.SECURITY_KEY

这个代码是创建工程时,随机生成的,好像是与什么安全有关的。

stackflow有关于这个的提问:https://stackoverflow.com/questions/7382149/purpose-of-django-setting-secret-key

 3.DEBUG

debug设置为true时候,会在程序出错的时候,显示配置信息和错误信息,方便开发者进行调试。

4.ALLOWED_HOSTS

ALLOWED_HOSTS是为了限定请求中的host值,以防止黑客构造包来发送请求,只有在列表中的host才能访问,建议不要使用*通配符去配置,另外当DEBUG设置为False的时候必须配置这个配置,否则会抛出异常;当DEBUG为True并且ALLOWED_HOSTS为空时,主机将针对['localhost','127.0.0.1','[:: 1]']进行验证。

详细请看:http://blog.csdn.net/heatdeath/article/details/71076333

5.INSTALLED_APPS

INSTALLED_APPS是一个数组,里面是工程中要加载的自带或者自己定制的app路径列表。

django.contrib是一个庞大的功能集,

django.contrib.admin —— 管理站点,

django.contrib.auth —— 认证系统,

django.contrib.contenttypes —— 用于内容类型的框架,

django.contrib.sessions —— 会话框架,

django.contrib.messages —— 消息框架,

django.contrib.staticfiles —— 管理静态文件的框架。

详细:https://docs.djangoproject.com/en/1.8/ref/settings/#std:setting-INSTALLED_APPS

6.MIDDLEWARE

 MIDDLEWARE是django中间件相应配置,关于中间件的相关知识及作用可参考:https://www.cnblogs.com/zhaof/p/6281541.html;http://blog.csdn.net/alvine008/article/details/50249777。

 

常用的简介:

  SessionMiddleware配置的作用是在应用中使用session;

  CsrfViewMiddleware配置的作用是在应用中添加CSRF token用来防范csrf,在调试的时候如果嫌出错会麻烦,可以将其注释,或者在html中加上{% csrf_token %}语句;

  clickjacking.XFrameOptionsMiddleware配置作用是在http header中添加X-Frame-Options标志,用以防范Clickjacking;

7.ROOT_URLCONF

 

改参数等于项目名称.urls,表示前台发来请求之后会先去项目文件夹下的urls文件中进行正则匹配来找到应执行的视图函数。

8.TEMPLATES

BACKEND用来配置Django的模板引擎;

其中的DIRS是用来配置模板路径的,如果你在文件夹中创建一个templates2文件夹,其中的一些html模板放在里面,就需要在DIRS中进行配置templates2的路径,否则的话程序运行的时候可能找不到模板文件;

APP_DIRS表示模板引擎是否在已安装应用程序的目录内查找模板源文件;

OPTIONS表示传递给模板(BACKEND)的其他参数,不同的引擎,可用的参数不一样。

9.WSGI_APPLICATION

不太会,没找到相关解释资料。

10.DATABASE

数据库相关配置,engine进行配置数据库引擎,默认的是sqlite3,name用于配合数据库文件名和地址信息。

11.AUTH_PASSWORD_VALIDATORS

官网(https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators)这样说明的:

AUTH_PASSWORD_VALIDATORS:Default: [] (Empty list)

                The list of validators that are used to check the strength of user’s passwords. See Password validation for more details. By default, no validation is performed and all passwords are accepted.

12.LANGUAGE_CODE

设置语言。

13.TIME_ZONE

设置时区。

14.USE_I18N

I18N提供接口让web开发者在制作网站时将需要翻译的部分标记出来,然后生成翻译文件,在翻译文件中对标记的字符串进行翻译,然后编译生成供django使用的翻译文件即可.

15.USE_L10N

设置为TRUE,django可以根据当前时区进行格式化日期、数字、时间等。

16.USE_TZ

True表示Django开启了Time Zone功能,所有的存储和内部处理,甚至包括直接print显示全都是UTC的。只有通过模板进行表单输入/渲染输出的时候,才会执行UTC本地时间的转换。

17.STATIC_URL

貌似表示静态文件放在app下的static文件夹里。

 如果再配置上下面的:

表示静态文件放在工程里的static文件夹里。

 

声明:以上资源均来自于互联网,本人只是在自己学习过程中进行的整理汇总。

posted @ 2017-12-14 13:14  不会python  阅读(170)  评论(0)    收藏  举报