Django 配置文件
settings.py
详解
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
python中 __file__
这个变量可以获取到当前文件(包含这个代码的文件)的路径。os.path.dirname(__file__)
得到文件所在目录,再加上一层os.path.dirname()就是目录的上一级,BASE_DIR 即为 项目 所在目录。之后与目录有关的变量会用它,这样使得移植性更强。
DEBUG = True
DEBUG=True 时,如果出现 bug 便于我们看见问题所在,但是部署时最好不要让用户看见bug的详情,可能一些不怀好心的人攻击网站,造成不必要的麻烦.
ALLOWED_HOSTS = ['www.xxx.com','192.168.1.11'] #可以设置 ip 和 域名
ALLOWED_HOSTS 允许你设置哪些域名可以访问,即使在 Apache 或 Nginx 等中绑定了,这里不允许的话,也是不能访问的。当 DEBUG=False 时,这个为必填项,如果不想输入,可以用 ALLOW_HOSTS = ['*'] 来允许所有的。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'test_django' , # 新应用在后面追加
]
注册应用,INSTALLED_APPS注册应用是为了和models.py里的模型/数据库交互使用的,不注册的话正常访问的是view,只要不和models.py有关联,都可以正常访问没有影响,但是为了之后交互不出错,最好写新应用时直接注册好。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
# 'DIRS': [os.path.join(BASE_DIR, 'templates2')] 修改 模版存放位置
},
]
模版文件存放地址
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
数据库配置
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
admin 后台支持的语言,其中 zh-Hans是简体中文 zh-Hant是繁体中文,所以更改
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False
Django 数据库默认 配置(在 project 包下
settings.py
文件中)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
mysql 数据库配置
- 安装 python 3.x 支持 pyMySql
pip install pymysql
- 在 project 包下
__init__.py
文件中写入代码
import pymysql
pymysql.install_as_MySQLdb()
- 在 project 包下
settings.py
文件中,通过 DATABASES 选项进行数据库配置
- mysql 数据库配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #数据库引擎
'NAME': 'db_name', # 数据库 名称
'USER':'root' # 数据库用户
'PASSWORD':'root' # 数据库密码
'HOST':'localhost' # 数据库IP
'PORT':'3306' # 数据库端口
}
}
postgresql 数据库配置
- 安装 psycopg2 实现对PostgreSQL数据库的操作
pip install psycopg2
- 在 project 包下
settings.py
文件中,通过 DATABASES 选项进行数据库配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'db_name', # 数据库名字(需要先创建)
'USER': 'postgres', # 登录用户名
'PASSWORD': '123456', # 密码
'HOST': '', # 数据库IP地址,留空默认为localhost
'PORT': '5432', # 端口
}
}