Django settings详解
1.基础
DJANGO_SETTING_MODULE环境变量:让settings模块被包含到python可以找到的目录下,开发情况下不需要,我们通常会在当前文件夹运行,python可以搜索到。如果需要运行在其他服务器上,就必须指定DJANGO_SETTINGS_MODULE变量。
2.默认设定
一个django的settings文件不需要我们手动去设置所有项目,因为系统已经默认设置好了。我们只需要修改我们使用的设
定就好了。默认的设置在django/conf/global_settings.py文件中。django在编译时,先载入global_settings.py中的配置,然后加载指定的settings文件,重写改变的设定。
好了,步入正文。
前面的随笔中我们经常会改setting配置也经常将一些配置混淆今天主要是将一些常见的配置做一个汇总。
setting配置汇总
1、app路径
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app1.apps.App1Config', # 默认已有 如果没有只要添加app名称即可 例如: 'app1' # 新建的应用都要在这里添加]
2、数据库配置
如果使用django的默认sqlite3数据库则不需要改
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), }}
如果使用mysql数据库需要将上述数据库注掉修改如下
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'blog', #你的数据库名称 数据库需要自己提前建好 'USER': 'root', #你的数据库用户名 'PASSWORD': '', #你的数据库密码 'HOST': '', #你的数据库主机,留空默认为localhost 'PORT': '3306', #你的数据库端口 }}
并且需要在应用的__init__.py文件添加
import pymysqlpymysql.install_as_MySQLdb()
详情可以查看://www.jb51.net/article/128674.htm
3、sql语句
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers': ['console'], 'propagate': True, 'level':'DEBUG', }, }}
当你的操作与数据库相关时 会将我们的写的语句翻译成sql语句在服务端打印。
4、静态文件目录
STATIC_URL = '/static/' #调用时目录STATICFILES_DIRS=[ os.path.join(BASE_DIR,"static"), #具体路径]
5、如果数据库中的UserInfo(用户表)继承django内置AbstractUser
1)model需导入
from django.contrib.auth.models import AbstractUser
2)配置文件
AUTH_USER_MODEL = "应用名.UserInfo"
新闻热点
疑难解答