前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django源码学习-2-Settings.py配置文件-上

Django源码学习-2-Settings.py配置文件-上

作者头像
小团子
发布2019-07-23 10:39:49
5860
发布2019-07-23 10:39:49
举报
文章被收录于专栏:数据云团

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。

在 Django 源码学习前,需要知道 Python 环境搭建、Django 如何下载安装、如何利用 Django 创建项目以及新建应用。完成了这些,需要对 Django 进一步的认识,可以试着写一个简单的个人博客,作为入手实战。在编写代码的过程中,会开始去思考,Django 提供的 API,是否能熟练使用,从模型到视图再到路由,再把项目运行,在浏览器上打开,有没有觉得很神奇?为什么简短的几行代码就能在浏览器上访问到亲手写的网站。

出于这种对未知又想学习的好奇心,先来渐渐熟悉下 Django 的 Settings.py 配置文件。在知道 Django 的核心文件如何配置后,相信往后的学习会更加得心应手。

① BASE_DIR

进入 Django 项目的 settings.py 文件中。需要注意到的就是 BASE_DIR,首先引入os,os包可以对文件进行操作管理,然后base_dir代表的是路径。

代码语言:javascript
复制
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

② SECRET_KEY

Django 新建项目随机生成的密钥

代码语言:javascript
复制
SECRET_KEY = 'w4rpn$)qdtxjtyg)^mp456b)4pfx$jnb5dn0*g*h$v3)4y*ocg'

③ DEBUG

代码语言:javascript
复制

DEBUG = True 代表是调试环境

DEBUG = False 代表是生产环境

代码语言:javascript
复制
DEBUG = True

④ ALLOWED_HOSTS

允许的主机路径,不填写或者ALLOWED_HOSTS = ["*"]代表允许任意主机域名,如果要指定,在里面输入,比如域名只允许为 www.baidu.com 那么 ALLOWED_HOSTS = ["www.baidu.com"]

代码语言:javascript
复制
ALLOWED_HOSTS = ['*']

⑤ INSTALLED_APPS

代表当前项目应用,只有加入这里才能进行模型同步等操作。

代码语言:javascript
复制
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

安装用户的登录认证,认证框架的核心和默认的类型

代码语言:javascript
复制
django.contrib.admin

内容类型系统,它允许权限和创建的模型类关联

代码语言:javascript
复制
django.contrib.contenttypes

Django 提供了一个通用的 Session 框架

代码语言:javascript
复制
django.contrib.sessions

消息框架可以使用不同的后端存储临时消息

代码语言:javascript
复制
django.contrib.messages

加载静态文件

代码语言:javascript
复制
django.contrib.staticfiles

⑥ MIDDLEWARE

django 中间件

代码语言:javascript
复制
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',
]

从浏览器发出一个请求 Request,得到一个响应后的内容 HttpResponse ,这个请求传递到 Django的过程如下:

⑦ ROOT_URLCONF

代码语言:javascript
复制

ROOT_URLCONF 代表的是主路由,也就是项目的主urls。

代码语言:javascript
复制
ROOT_URLCONF = 'blog.urls'

⑧ TEMPLATES

代码语言:javascript
复制

TEMPLATES 代表的是模版的处理, 包括路径 处理的包等。

代码语言:javascript
复制
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        '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',
            ],
            "builtins": ["django.templatetags.static"]
        },
    },
]

⑨ WSGI_APPLICATION

WSGI_APPLICATION 启动定义 将使用的WSGI应用程序对象的完整Python路径。

代码语言:javascript
复制
WSGI_APPLICATION = 'blog.wsgi.application'

⑩ DATABASES

数据库配置

代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': "",
        "USER": "",
        "PASSWORD": "",
        "HOST": "127.0.0.1",
        "PORT": "3306",
    }
}

LANGUAGE_CODE = 'zh-hans' 语言TIME_ZONE = 'UTC' 时区

USE_I18N = True 国际化

USE_L10N = True 如果USE_L10N设置为True,则区域设置指定的格式具有更高的优先级

USE_TZ = True 系统时区

STATIC_URL 静态文件路径

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档