Django-项目配置
配置文件
在新建项目中,文件 settings.py 为项目的配置文件,现在详细解读下整个配置文件。
以下为原生的配置文件内容
import os
# 项目根路径
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 安全秘钥
SECRET_KEY = '&6ry6mx#9s*%s@w(d$z+pinn0ft8r+vj96^9mhzv7y*sruyfhy'
# DEBUG配置为True的时候会暴露出一些出错信息或者配置信息以方便调试.但是在上线的时候应该将其关掉,防止配置信息或者敏感出错信息泄露.
DEBUG = True
# 允许访问的主机,如果填入*号,则允许所有人访问
# ALLOWED_HOSTS = []
ALLOWED_HOSTS = ['*']
# Application definition: 一个一元数组,里面是应用中要加载的自带或者自己定制的app包路径列表.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles'
]
# 中间件
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
CORS_ORIGIN_ALLOW_ALL = True
ROOT_URLCONF = 'justdoit.urls'
# 模板配置,修改DIRS,指定为自己创建的模板文件夹,使用pycharm创建项目时,这步自动完成
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',
],
},
},
]
WSGI_APPLICATION = 'justdoit.wsgi.application'
# Database 数据库配置,默认为sqlite3
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Password validation 密码验证
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 国际化
# 语言设置,已更改为中文
LANGUAGE_CODE = 'zh-Hans'
# 市区设置,已更改为上海
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = True
总结几个简单的点:
- DEBUG的开启和关闭
- ALLOWED_HOSTS访问主机的开放
- LANGUAGE_CODO语言设置中文
- TIME_ZONE时区设置
数据库配置DATABASE — 指定MySQL数据库
数据库配置,默认设置为sqlite,以下修改为MySQL
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
"HOST": '172.17.180.XXX',
'NAME': 'DATABASE_NAME',
'USER': 'name',
'PASSWORD': 'password',
},
}
改用pymysql驱动,在init.py文件中加入一下代码:
import pymysql
pymysql.install_as_MySQLdb()
数据库配置DATABASE — 指定SQL Server数据库
-
Django backend for Microsoft SQL Server and Azure SQL Database using pyodbc
依赖于pyodbc,但pyodbc要驱动SQL Server还想再安装微软的驱动
pip install django-pyodbc-azure
Microsoft ODBC Driver for SQL Server
Window :直接安装微软家的IDE后,自动ok
Mac : 比较麻烦
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
brew install --no-sandbox msodbcsql mssql-tools
brew install unixodbc
Mac下除了驱动安装麻烦,还需要安装unixodbc后,pyodbc后才可以使用,如果import pyodbc失败,再试试 brew link unixodbc
配置settings.py
DATABASES = {
'default':{
'ENGINE':'sql_server.pyodbc',
'HOST':'172.17.180.XXX',
'NAME':'DATABASE_NAME',
'USER':'name',
'PASSWORD':'password',
}
}
数据库配置DATABASE — 指定多个数据库
模版文件
模板配置,修改DIRS,指定为自己创建的模板文件夹,使用pycharm创建项目时,这步自动完成
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')], #根目录下的templates文件夹
'APP_DIRS': True, #每个APP下的templates文件夹
'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',
],
},
},
]
静态文件
Static
在项目根目录新建static文件夹
在setting.py中设置:
STATIC_URL='/static/' #HTML中使用的静态文件夹前缀
STATIC_DIR=os.path.join(BASE_DIR,'static')
STATICFILES_DIRS=[STATIC_DIR,] #当由多个静态文件目录时,可加入
STATIC_ROOT=STATICFILES_DIRS

在模板文件,写入
{% load static %}在模板文件中引用:
{% static "/assets/js/jquery.min.js" %}
媒体文件
Media
在项目根目录新建media文件夹
在setting.py中设置
MEDIA_URL='/media/' #前后都有斜杠
MEDIA_DIR=os.path.join(BASE_DIR,'media')
MEDIAFILES_DIRS=[MEDIA_DIR,]
MEDIA_ROOT=MEDIA_DIR
TEMPLATES设置中的context_processor选项中加入:'django.template.context_processors.media',
在项目urls文件中
from django.conf import settings
from django.conf.urls.static import static
在文件最后加上:+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
Django-项目配置的更多相关文章
- 为django项目配置celery的后台启动
为root用户启动celery创建的脚本,该脚本的拥有者与使用者都必须是root .使用方法为 /etc/init.d/celeryd [start]|[stop]|[kill] 需增加两个文件 /e ...
- 【5】Django项目配置settings.py详解
夫唯不争,故天下莫能与之争 --老子<道德经> 本节内容 1.项目配置文件settings.py介绍 2.数据库配置[MySQL] 3.创建模型对象并和数据库同步 4.python官方提供 ...
- Django 项目配置拆分独立
目录 一.创建配置目录 二.创建基础配置文件 三.创建各个环境的配置 四.调整settings.py 五.程序使用 六.目录结构 Django 项目中,我们默认的配置是都在 settings.py 文 ...
- django项目配置
创建工程 本项目使用git管理项目代码,代码库放在gitee码云平台.(注意,公司中通常放在gitlab私有服务器中) 1. 在git平台创建工程 1) 创建私有项目库 2)克隆项目到本地 3)创建并 ...
- Django项目配置参数大全
数据库的配置 配置文件: settings.pyDATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NA ...
- Django项目配置日志
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format': ...
- Django项目配置数据库时,已安装mysqlclient,却提示 Did you install mysqlclient错误,后右报错ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3
错误信息如下: 解决方案是: 找到自己的项目文件夹下的__init__.py 添加如下代码 解决这个问题后,右报错django2.2/mysql ImproperlyConfigured: mysq ...
- django项目外部的脚本文件执行ORM操作,无需配置路由、视图启动django服务
#一.将脚本路径添加到python的sys系统环境变量里 import sys # sys.path.append('c:/Users/Administrator/www/mymac') #第一种.绝 ...
- 使用pycharm调试django项目
要使用pycharm调试django 打断点调试后台代码,首先要进行一下配置: 1.debug 配置 打开debug界面 2.选择python点+加号,然后选择python 3.名字debug,这个看 ...
- Linux学习,部署django项目到服务器,及安装python,uwsgi等
开启网络 vi /etc/sysconfig/network-script/ifcfg-eth0 onboot=yes 退出保存 service network restart ping www.ba ...
随机推荐
- git回滚命令reset、revert的区别
##使用git,总有一天会遇到下面的问题: (1)改完代码匆忙提交,上线发现有问题,怎么办? 赶紧回滚. (2)改完代码测试也没有问题,但是上线发现你的修改影响了之前运行正常的代码报错,必须回滚. 所 ...
- Android开发环境的发展以及重装系统之后在myeclipse重配Android开发环境。
android的开发环境早期要自己去去官网下SDK,ADT,AVD等.不仅在一开始要面临国内防火墙的阻拦,四处奔波之后都下载好了,还得自己Linked,可谓困难重重.随着android开发的火热,上面 ...
- activiti发布APP时报错:关联的流程无效
解决办法: 1.检查流程命名和任务命名以及其他命名中是否有特殊字符,有一些字符是不支持的.(中文是可以的,中文标点符号可能不行,我的经验是顿号会报错) 2.检查流程图,把鼠标放到每一根连接线上,观察它 ...
- 【Python实践-7】输出100以内的所有素数
#输出100以内的所有素数,素数之间以一个空格区分(注意,最后一个数字之后不能有空格). i= l=[] : k= ,i): : k=k+ : l.append(i) i=i+ print(" ...
- 20155330 《网络攻防》 Exp3 免杀原理与实践
20155330 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征码.先对流行代码特征的提取,然后进行程序的比对,如果也检测到相应的特征码的程序 ...
- mysql提示Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist解决方法
一次重启mysql发现无法启动成功,通过检查mysql日志发现问题并解决了问题. mysql启动失败的日志: [root@nn ~]# tail -n 20 /var/log/mysqld.log 1 ...
- [BZOJ4857][JSOI2016]反质数序列[最大点独立集]
题意 在长度为 \(n\) 的序列 \(a\) 中选择尽量长的子序列,使得选出子序列中任意两个数的和不为质数. \(n\leq3000\ ,a_i\leq10^5\). 分析 直接按照奇偶性建立二分图 ...
- ElasticSearch入门 第五篇:使用C#查询文档
这是ElasticSearch 2.4 版本系列的第五篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...
- 委托、多播委托(MulticastDelegate)
委托.多播委托(MulticastDelegate) 多播委托(MulticastDelegate)继承自 Delegate ,表示多路广播委托:即,其调用列表中可以拥有多个元素的委托.实际上,我们自 ...
- 【DDD】领域驱动设计实践 —— 业务建模战术
本文结合团队在COMMUNITY(社区服务系统)业务建模过程中的实践经验,总结得到一些DDD业务建模的小招数,不一定是完美的,但是对我们团队来说很有效用,希望能帮到其他人.后面会陆续将项目中业务建模的 ...