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里面也有给出对应的文档链接(如下图)。

Django笔记&教程 1-2 二 常用配置

对于英文好的以及有一定编程基础的,可以直接去对应的官方文档去查看对应用法

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

上一篇:Django笔记&教程 2-2 URL详细匹配规则


下一篇:axure & Markman