python setting.py_python基础教程:Django框架的中的setting.py文件说明详解
这篇文章主要介绍了Django框架的中的setting.py文件说明详解,这个文件包含了所有有关这个Django项目的配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
1.加载数据库,数据库的配置不能写死在seting.py文件中,下面的方式是读取另外一个文件,配置数据库:
config = ''
with open(os.path.join(BASE_DIR, 'config/config.json'), 'rt') as f:
config = json.load(f)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'szrqgl',
'USER': config['db_user'],
'PASSWORD': config['db_pwd'],
'HOST': config['db_host'],
'POST': config['db_port']
}
}
上面的BASE_DIR一般使用的都是默认值,即:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
具体操作是创建一个config文件夹,该文件夹和你这个项目包同级,然后在其下面创建一个config.json文件,文件内容如下:
{
"db_user": "root",
"db_pwd": "123456",
"db_host": "127.0.0.1",
"db_port": "3306"
}
在上面的代码中,ENGINE要说明一下,官方提供了针对不同数据库的的不同操作引擎,以下是经常用的几个:
sqlite数据库:‘django.db.backends.sqlite3’,
postgreSQL数据库:‘django.db.backends.postgresql_psycopg2’,
mysql数据库:‘django.db.backends.mysql’
oracle数据库:‘django.db.backends.oracle’
2.时区设置和字符集设置,一般用的都是下面三个:
设置保存到数据库时间类型是否为UTC时间,如果不需要请设置为false,默认为true:USE_TZ = True
设置时区:TIME_ZONE = ‘Asia/Shanghai’
设置语言:LANGUAGE_CODE = ‘zh-hans’
设置字符集:DEFAULT_CHARSET = “utf-8”
3.设置国际化,根据个人需要进行设置:
国际化:USE_I18N = True
相同内容被不同时区地区的用户访问时,是否以不同格式内容展示(例如时间,日期,数字):USE_L10N = True
4.部署配置:
调试模式是否开启:DEBUG = True
访问web服务的的Ip配置:ALLOWED_HOSTS = [’*’]
部署的时候请修改DEBUG和ALLOWED_HOSTS的值,一般将其修改为FALSE和指定ip,例如[‘127.0.0.1’]
5.在setting.py中定义全局变量,该变量的变量名需要全部大写,否则会引用不到:
CONTEXTBOOL= False
6.app的安装配置,即INSTALLED_APPS设置,我们新建的项目需要添加到该配置下,每个配置的意义以后说明:
django.contrib.admin —— 管理站点。
django.contrib.auth —— 认证系统。
django.contrib.contenttypes —— 用于内容类型的框架。
django.contrib.sessions —— 会话框架,session数据可以在数据库中的django_session表中查看。
django.contrib.messages —— 消息框架。
django.contrib.staticfiles —— 管理静态文件的框架。
例如:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'demo1',
]
7.django的中间件配置,即MIDDLEWARE设置,所谓中间件就是从用户请求到用户请求结束期间所做的操作,即用户的请求会次从上到下依次执行MIDDLEWARE中的配置,然后服务器响应用户的时候会再次从下至上依次执行,和Java的Filter很相像:
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',
]
一般的django配置如上图,如果需要自己添加中间件配置的,也可自己添加,这里不再多说。
8.setting中的加密盐:
SECRET_KEY = 'i&&2$s%7npev^#uix==kis+h$4$ozscefiaw1c%p^+1c(l&6'
该配置是django的安全配置,防止攻击用的,该值是startProject时用系统的某个算法产生的.
9.静态文件目录配置(重中之重)
所有静态文件放置目录,在配置nginx的时候,nginx的静态资源要指向这里。
STATIC_ROOT = os.path.join(BASE_DIR, 'static').replace('\\', '/')
别名,这个别名指的是在html引用的名称
STATIC_URL = '/commonstatic/'
例如,下面的这个static实际上就是commonstatic,其在html里面显示如下:
{% block styles %}
{% endblock %}
在django中指定静态文件的目录所在地
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'commonstatic/').replace('\\', '/'),
)
一般情况下,上述的静态文件配置上面几乎可通用,绝少数情况下需要另配。
10.session会话配置(下面的配置会保存在数据库的django_session中):
SESSION_ENGINE = 'django.contrib.sessions.backends.db' # 引擎(默认)
SESSION_COOKIE_NAME = "sessionid" # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串(默认)
SESSION_COOKIE_PATH = "/" # Session的cookie保存的路径(默认)
SESSION_COOKIE_DOMAIN = None # Session的cookie保存的域名(默认)
SESSION_COOKIE_SECURE = False # 是否Https传输cookie(默认)
SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支持http传输(默认)
SESSION_COOKIE_AGE = 60 * 30 # Session的cookie失效日期(30min)(默认)
SESSION_EXPIRE_AT_BROWSER_CLOSE = True # 是否关闭浏览器使得Session过期(默认)
SESSION_SAVE_EVERY_REQUEST = True # 是否每次请求都保存Session,默认修改之后才保存(默认)
setting配置文件的内容大致如上,具体每个配置的作用会在以后的文章中进行说明!
最后给大家推荐一个资源很全的python学习聚集地,[点击进入],这里有我收集以前学习心得,学习笔记,还有一线企业的工作经验,且给大定on零基础到项目实战的资料,大家也可以在下方,留言,把不懂的提出来,大家一起学习进步
标签:配置,python,py,db,django,SESSION,contrib,Django,config
python setting.py_python基础教程:Django框架的中的setting.py文件说明详解相关推荐
- python基础教程:Django框架的中的setting.py文件说明详解
这篇文章主要介绍了Django框架的中的setting.py文件说明详解,这个文件包含了所有有关这个Django项目的配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.加载数据库,数据库 ...
- Django框架的中的setting.py文件说明详解
这篇文章主要介绍了Django框架的中的setting.py文件说明详解,这个文件包含了所有有关这个Django项目的配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.加载数据库,数据库 ...
- 开启注解缓存_Spring Boot 2.x基础教程:进程内缓存的使用与Cache注解详解
随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一.Spring 3开始提供了强大的基于注解的缓 ...
- python怎么横着输出_对python3中, print横向输出的方法详解
对python3中, print横向输出的方法详解 Python 2 : print打印的时候,如果结尾有逗号,打出来时候不会换行.但是在python3里面就不行了. Python3: 3.0的pri ...
- python基础教程:对可变对象和不可变对象的详解
数据类型分为可变.不可变.可变对象表示可以原处修改该数据对象,不可变对象表示必须创建新对象来保存修改后的数据. 在基础数据类型中: 数值.字符串.元组.frozenset是不可变对象 列表.set.d ...
- python教程web开发_PythonWeb开发基础教程(Django版)(微课版)-教学大纲
0 < Python Web 开发基础教程>教学大纲 学 时: 66 代 码: 适用专业: 制 定: 审 核: 批 准: 一.课程的地位.性质和任务 Web 开发基础是普通高等学校计算机科 ...
- python学习第八天---用Django框架创建可重用注册登录系统
python学习第八天---用Django框架创建可重用注册登录系统 实现的功能 项目开始前的整体规划 搭建环境完成基础配置 创建app 更改语言和时区 数据库表生成 启动开发服务器 浏览器访问,检测 ...
- 《Python全栈基础教程》目录
专栏地址: <Python全栈基础教程> 更新进度(持续更新中~) 0.前言: ???作者介绍:[]-CSDN全栈领域优质创作者.HDZ核心组成员.华为云享专家Python全栈领域博主.C ...
- Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级
前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...
最新文章
- alexa http 请求
- 2020年最畅销的20款电动汽车,特斯拉和五菱你偏向谁?
- 数据处理的两个基本问题---汇编学习笔记
- 学点数学(1)-随机变量函数变换
- 10道python面试题,每题10分,你能的多少分!(内附python教程)
- Java的内存机制(转)
- 参照 Vue 官方文档一步一步搭建 Vue
- python-最速下降法
- 弹性云服务器是什么意思?弹性体现在哪里
- SSM基于web的教务管理系统 毕业设计-附源码261620
- 负载均衡及其常见实现方式
- 为什么编c语言总有一个错误,为什么程序最后总会显示有1个错误
- 友善串口工具接收数据随机换行_mfc串口收发数据。编辑框希望每接收一次就换行。怎么实现。我的换行结果不对...
- 计算机派位录取,北京小升初派位入学随机录取志愿优先,与成绩无关
- adobe acrobat xi pro绿色免安装版
- 网络编程之端口:端口号为什么常见是8000、8080、8888...
- 互亿天线短信接口php文档
- Android传感器——传感器监听器及摇一摇案例
- 朋友圈都在说的央行数字货币,究竟跟你有什么关系
- 敏捷开发 宣言 思想 认识误区
热门文章
- JavaScript的pop()
- 衡量子空间相似度和距离的主角 principal angles
- linux怎么卸载mailx,Linux下mail/mailx命令发送邮件
- c语言ftell的作用,C语言的文件随机访问fseek()和ftell()函数
- CNN中卷积和池化计算公式
- 关于使用google map实现周边搜索的功能
- Algorithm:C++语言实现之Hash哈希算法相关(dbj2、sdbm、MurmurHash)
- 获取目标RDP登录凭据
- day 09文件处理
- UNIX环境高级编程 - UNIX基础知识