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

原文地址:https://www.cnblogs.com/BigShuang/p/14285578.html