- 1、项目文件夹:thz_django
- Build paths inside the project like this: BASE_DIR / ‘subdir’.
- 用于绑定当前项目的绝对路径(动态计算出来的),所有文件夹都可以依赖此路径
- Quick-start development settings - unsuitable for production
- https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/">See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
- SECURITY WARNING: keep the secret key used in production secret!
- SECURITY WARNING: don’t run with debug turned on in production!
- 用于配置Django项目的启动模式
- True - 表示调试模式
- 1、检测代码改动后,立刻重启服务
- 2、报错页面,便于调试,追踪问题
- False - 表示正式启动模式/上线模式
- 设置允许访问到本项目的host头值
- 如果要在局域网其它主机也能访问此主机的Django服务,启动方式如下:
- python manage.py runserver 0.0.0.0:8000
- 指定网络设备如果内网环境下其它主机想正常访问该站点,需要加ALLOWED_HOSTS = [“内网ip”]
- Application definition
- 指定当前项目中安装的应用列表
- 创建的app要加入到这里
- 用于注册中间件
- 用于配置主 url 配置
- 用于指定模板的配置信息
- Database
- https://docs.djangoproject.com/en/3.2/ref/settings/#databases">https://docs.djangoproject.com/en/3.2/ref/settings/#databases
- 用于指定数据库的配置信息
- Password validation
- https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators">https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators
- Internationalization
- https://docs.djangoproject.com/en/3.2/topics/i18n/">https://docs.djangoproject.com/en/3.2/topics/i18n/
- LANGUAGE_CODE = ‘en-us’
- 用于指定语言配置
- TIME_ZONE = ‘UTC’
- 用于指定当前服务器端时区
- USE_TZ = True
- Static files (CSS, JavaScript, Images)
- https://docs.djangoproject.com/en/3.2/howto/static-files/">https://docs.djangoproject.com/en/3.2/howto/static-files/
- Default primary key field type
- https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field">https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
- 自定义配置:静态文件的文件夹地址
1、项目文件夹:thz_django
1.1、项目同名文件夹:thz_django
1.1.1、init
1.1.1、asgi.py
一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
1.1.1、settings.py
项目的配置文件 - 包含项目启动时需要的配置
settings.py:包含了Django项目启动的所有配置项
配置项分为 公有配置 和 自定义配置
配置格式示例:BASE_DIR = ‘xxxxx’
公有配置 - Django官方提供的基础配置(如下)
BASE_DIR
BASEDIR = Path(_file).resolve().parent.parent
用于绑定当前项目的绝对路径(动态计算出来的),所有文件夹都可以依赖此路径
DEBUG
DEBUG = True
用于配置Django项目的启动模式
- True - 表示调试模式(用于开发中)
- 检测代码改动后,立刻重启服务
- 报错页面,便于调试,追踪问题
-
ALLOWED_HOSTS
ALLOWED_HOSTS = [‘*’]
允许访问的ip “*”表示所有ip都可以访问这个项目
- 设置允许访问到本项目的host头值
- 如果要在局域网其它主机也能访问此主机的Django服务,启动方式如下:
- python manage.py runserver 0.0.0.0:8000
指定网络设备如果内网环境下其它主机想正常访问该站点,需要加ALLOWED_HOSTS = [“内网ip”]
INSTALLED_APPS
INSTALLED_APPS = [ ‘django.contrib.admin’,]
指定当前项目中安装的应用列表
-
MIDDLEWARE
MIDDLEWARE = [‘django.middleware.security.SecurityMiddleware’,]
-
ROOT_URLCONF
ROOT_URLCONF = ‘thz_django.urls’
用于配置主 url 配置TEMPLATES
-
DATABASES
-
LANGUAGE_CODE
LANGUAGE_CODE = ‘zh-Hans’
-
TIME_ZONE
TIME_ZONE = ‘Asia/Shanghai’
用于指定当前服务器端时区USE_TZ
USE_TZ = True #使用标准时区的时间
- USE_TZ = False #不使用标准时区的时间 ```python “”” Django settings for thz_django project.
Generated by ‘django-admin startproject’ using Django 3.2.12.
For more information on this file, see https://docs.djangoproject.com/en/3.2/topics/settings/
For the full list of settings and their values, see https://docs.djangoproject.com/en/3.2/ref/settings/ “”” import os #自定义配置导入的模块 from pathlib import Path
Build paths inside the project like this: BASE_DIR / ‘subdir’.
BASEDIR = Path(_file).resolve().parent.parent
用于绑定当前项目的绝对路径(动态计算出来的),所有文件夹都可以依赖此路径
Quick-start development settings - unsuitable for production
See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = ‘django-insecure-fe7z9t%6%n8-k(gy@4j(8hsv18&h!92!n)ple+3h#f51hf)v’
SECURITY WARNING: don’t run with debug turned on in production!
DEBUG = True
用于配置Django项目的启动模式
True - 表示调试模式
1、检测代码改动后,立刻重启服务
2、报错页面,便于调试,追踪问题
False - 表示正式启动模式/上线模式
ALLOWED_HOSTS = [‘‘] #允许访问的ip “”表示所有ip都可以访问这个项目
设置允许访问到本项目的host头值
如果要在局域网其它主机也能访问此主机的Django服务,启动方式如下:
python manage.py runserver 0.0.0.0:8000
指定网络设备如果内网环境下其它主机想正常访问该站点,需要加ALLOWED_HOSTS = [“内网ip”]
Application definition
指定当前项目中安装的应用列表
创建的app要加入到这里
INSTALLED_APPS = [ ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.messages’, ‘django.contrib.staticfiles’, ‘user’ ]
用于注册中间件
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’, ]
用于配置主 url 配置
ROOT_URLCONF = ‘thz_django.urls’
用于指定模板的配置信息
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',
'user.context_processors.blog_context',
],
},
},
]
WSGI_APPLICATION = ‘thz_django.wsgi.application’
Database
https://docs.djangoproject.com/en/3.2/ref/settings/#databases
用于指定数据库的配置信息
DATABASES = { ‘default’: { ‘ENGINE’: ‘django.db.backends.sqlite3’, ‘NAME’: BASE_DIR / ‘db.sqlite3’, } }
Password validation
https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [ { ‘NAME’: ‘django.contrib.auth.password_validation.UserAttributeSimilarityValidator’, }, { ‘NAME’: ‘django.contrib.auth.password_validation.MinimumLengthValidator’, }, { ‘NAME’: ‘django.contrib.auth.password_validation.CommonPasswordValidator’, }, { ‘NAME’: ‘django.contrib.auth.password_validation.NumericPasswordValidator’, }, ]
Internationalization
https://docs.djangoproject.com/en/3.2/topics/i18n/
LANGUAGE_CODE = ‘en-us’
用于指定语言配置
LANGUAGE_CODE = ‘zh-Hans’
TIME_ZONE = ‘UTC’
用于指定当前服务器端时区
TIME_ZONE = ‘Asia/Shanghai’
USE_I18N = True
USE_L10N = True
USE_TZ = True
USE_TZ = False #不使用标准时区的时间
Static files (CSS, JavaScript, Images)
https://docs.djangoproject.com/en/3.2/howto/static-files/
STATIC_URL = ‘/static/‘
Default primary key field type
https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = ‘django.db.models.BigAutoField’
自定义配置:静态文件的文件夹地址
STATICFILES_DIRS = [os.path.join(BASE_DIR,”static”)]
<a name="oF3yI"></a>
### 1.1.1、urls.py
主路由文件:项目的主路由配置 - HTTP请求进入Django时,优先调用该文件<br />[参考本博客-映射关系:](https://www.yuque.com/mrwei-vhjbd/ai2xu2/glkx12#HiIEZ)
```python
from django.contrib import admin
from django.urls import path
from user import views #从user中导入视图函数文件views
urlpatterns = [
path('admin/', admin.site.urls),
path('login/', views.login), #添加login这个视图函数的映射关系
]
1.1.1、wsgi.py
一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
Web服务网关的配置文件 - Django正式启动时,需要用到。