Django笔记&教程 1-2 二 常用配置
Django 自学笔记兼学习教程第1章第2节——二 常用配置
点击查看教程总目录
新手建议简单浏览本文,不理解的建议跳过,不要强行理解。
Django的设置涉及多个模块,需要了解Django的一些相关知识,才好理解每个设置是干什么用的,
建议在后面的章节中学过了相关的知识和概念,再回过头来看对应的设置。
1-初识settings.py
:
项目的配置文件,可用于配置该项目的所有配置。
对于一个项目而言,很多配置新手是用不到的,也有很多配置不推荐更改。
这里主要给大家介绍一些常用的配置,同时也会简单介绍下settings.py的内容。
在settings.py
的开头,有这样一段注释:
"""
Django settings for demo2 project.
Generated by 'django-admin startproject' using Django 2.2.11.
For more information on this file, see
https://docs.djangoproject.com/en/2.2/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/2.2/ref/settings/
"""
里面给出了Django官方关于settings.py
的说明文档的链接,
其中第一个链接主要是介绍settings.py
的;第二个链接则是介绍所有的配置及配置值的。
可以粗略理解为第一个链接较简洁,第二个很详尽。
实际上,对于一些配置, settings.py
里面也有给出对应的文档链接(如下图)。
对于英文好的以及有一定编程基础的,可以直接去对应的官方文档去查看对应用法
2-新手常用
下方的默认值是指通过django-admin startproject project_name
命令新建出的项目对应的值
INSTALLED_APPS
:
指定在项目中启用的app的列表
默认值:
[
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
一般我们使用py manage.py startapp app_name
新建了app的话
都需要在这里添加(在列表里面加上'app_name'
,如下)
[
...,
'app_name',
]
不添加有时会报错,具体情况待补充(TODO)
详细文档: https://docs.djangoproject.com/en/2.2/ref/applications/
TEMPLATES
:
项目使用的所有模板引擎的设置的列表。
列表中的每一项都是一个字典,其中包含单个引擎的配置。
默认值:
[
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
一般新建项目不会自动生成模板文件夹,所以一般会手动在项目文件夹下新建templates文件夹用于存放模板
新建templates文件夹后,在上面的第一个字典(引擎)的DIRS键对应的列表中添加os.path.join(BASE_DIR, 'templates')
即
'DIRS': [],
改为
'DIRS': [os.path.join(BASE_DIR, 'templates')]
DATABASES
:
项目使用的所有数据库设置的字典。
它是一个嵌套字典,将数据库别名映射到包含单个数据库选项的字典。
必须配置默认(default
)数据库;还可以指定任意数量的其他数据库。
(默认使用SQLite做数据库配置)
默认值:
{
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
3-STATIC相关
TODO
最新文章
- nginx 反向代理
- zigbee学习之路(十四):基于协议栈的无线数据传输
- 手动刷新magento的索引管理方法
- 为什么获取的System.Web.HttpContext.Current值为null,HttpContext对象为null时如何获取程序(站点)的根目录
- 【Alpha阶段】第七次Scrum例会
- linux下 C++ 读取mat文件 MATLAB extern cyphon scipy 未完待续
- yii框架中保存第三方登录信息
- PC上安装多个操作系统
- 深入浅出ExtJS 第三章 表格控件
- 修炼dp( 2 )
- TensorLayer官方中文文档1.7.4:API – 可视化
- perl 之 正则表达式 (简)
- poj-1236(强连通分量)
- 了解fastadmin标准的控制器模块js的表格事件
- angularjs 绑定多个属性到下拉框
- 合理设置apache httpd的最大连接数
- 40个新鲜的 jQuery 插件,使您的网站用户友好
- redhat7.2 安装docker
- eclipse使用maven打包时去掉测试类
- 20144306《网络对抗》Web安全基础实践
热门文章
- Redis事件机制
- Netty常用招式——ChannelHandler与编解码
- pdb的插拔测试
- redux搭配react-redux进行跨组件通信开发
- mysql 建表后 重新构建 自增字段 (保留 原有字段结构)
- null与undefined到底有啥区别?
- 时序数据库InfluxDB的基本语法
- 题解 2020.10.24 考试 T2 选数
- Salesforce 生命周期管理(一)应用生命周期浅谈
- python爬虫时,解决编码方式问题的万能钥匙(uicode,utf8,gbk......)