Python Django框架创建项目及settings.py文件配置项解析

Python Django框架创建项目

1.django-admin 创建项目骨架
Django 提供了django-admin这个强大的命令行管理工具,可以利用它完成项目的创建
代码实现:

django-admin startproject projectname # projectname 为项目名称

startproject 是 django-admind 的子命令,用于创建项目
拓展:
django-admin 还可以用于给当前项目创建应用
代码实现:

django-admin startapp Apptname # Apptname 为应用名称

startapp 是 django-admind 的子命令,用于创建应用
2.项目目录内部结构介绍
正常情况下,执行创建项目命令不会打印出任何内容, 会在当前目录下创建一个项目的骨架,也可称作项目的容器。内部结构如下:
(1)内层的 projectname 为项目中的python包名称,即导入python包所使用的名称
(2)__init __.py文件用于标识当前所在的目录是一个python包
(3)settings.py是Django项目的配置文件
(4)urls.py 文件用于记录Django 项目的URL映射关系
(5)wsgi.py文件是WSGI服务器程序的入口文件,用于启动应用程序
(6)manage.py是用于管理Django项目的命令行工具
3.manage.py 部分命令实现
①启动内置服务器运行当前的项目
代码实现:

python manage.py runserver

②使用shell命令进入当前项目的环境
代码实现:

python manage.py shell

③创建应用程序

python manage.py startapp Apptname # Apptname 为应用名称

3.settings.py 文件配置项解析

import os  # 导入系统模块os 提供了访问操作系统服务功能的标准库

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# __file__ 显示当前文件位置
# os.path.abspath(__file__) 返回当前文件的根本路径
# os.path.dirname(os.path.abspath(__file__)) 得到当前文件所在的目录
# os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 返回目录的上一级 对应于当前项目目录
# 总结:BASE_DIR 定义的是当前项目所在的根本路径


SECRET_KEY = '*5praxif1=4g4mpq-4c@)#52z=4520-0g2wogc+!tz1n_#+5o3'
# SECRET_KEY本质上是个加密盐,用于对各种需要加密的数据进行Hash处理
# 实际上是调用了函数get_random_string获取50位随机的字符串


DEBUG = True
# 调试控制 通常在开发环境设置为True 方便开发人员检查出错信息和配置信息
# 线上环境中应修改为False 避免信息泄露
ALLOWED_HOSTS = ['*']
# 用于配置可以访问当前站点的域名
# 当DEBUG= False时 它是一个必填项
# 设置 ALLOWED_HOSTS = ['*']表示允许所有的域名进行访问


INSTALLED_APPS = []
# 配置当前项目需要加载的App包路径列表
MIDDLEWARE = []
# 配置当前项目需要加载的中间件路径列表
# #'django.middleware.csrf.CsrfViewMiddleware', # csrf 验证,如果不关闭 提交表单会报403

ROOT_URLCONF = 'Demo.urls'
# 标记当前项目的根URL配置 是Django 的路由系统的入口点
TEMPLATES = []
# 列表变量 配置项目的模板 列表中每一个元素都是字典  每个字典代表模板引擎
# 'DIRS': [
#                 os.path.join(BASE_DIR, 'templates') 自定义设置模板路径
#         ],

WSGI_APPLICATION = 'Demo.wsgi.application'
# Django 的内置服务器将使用的WSGI应用程序对象的完整python的路径

DATABASES = {}
# 字典变量 标识项目的数据库配置 Django 默认会使用自带的数据库sqlite3

AUTH_PASSWORD_VALIDATORS = []
# Django 默认提供的一些支持插拔的密码验证器,且可以一次性配置多个
# 目的是为了避免直接通过用户的弱密码配置申请

LANGUAGE_CODE = 'zh-Hans'
# 配置项目的语言环境
# 默认为en-us 设置为中文简体 zh-Hans
TIME_ZONE = 'Asia/Shanghai'
# 配置项目的时区
# 设置为上海时区 Asia/Shanghai
USE_I18N = True
USE_L10N = True
# 标识当前项目是否需要开启国际化和本地化功能
# I18N 表示国际化
# L10N 表示本地化
USE_TZ = False
# 标识对于时区的处理 若设置为True 不论TIME_ZONE 设置为什么,存储到数据库的时间都为UTC时间

STATIC_URL = '/static/'
STATICFIELS = [
    os.path.join(BASE_DIR, 'static')
]
# 用于配置当前项目的静态资源的存放位置

猜你喜欢

转载自blog.csdn.net/weixin_42842018/article/details/107498584