配置文件

在新建项目中,文件 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-pyodbc-azure 2.0.1.0

    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

  1. 在项目根目录新建static文件夹

  2. 在setting.py中设置:

    STATIC_URL='/static/'  #HTML中使用的静态文件夹前缀
    STATIC_DIR=os.path.join(BASE_DIR,'static')
    STATICFILES_DIRS=[STATIC_DIR,] #当由多个静态文件目录时,可加入
    STATIC_ROOT=STATICFILES_DIRS

  3. 在模板文件,写入{% load static %}

  4. 在模板文件中引用:{% static "/assets/js/jquery.min.js" %}

媒体文件

Media

  1. 在项目根目录新建media文件夹

  2. 在setting.py中设置

  3. 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',

  4. 在项目urls文件中

    from django.conf import settings
    from django.conf.urls.static import static

    在文件最后加上:+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

Django-项目配置的更多相关文章

  1. 为django项目配置celery的后台启动

    为root用户启动celery创建的脚本,该脚本的拥有者与使用者都必须是root .使用方法为 /etc/init.d/celeryd [start]|[stop]|[kill] 需增加两个文件 /e ...

  2. 【5】Django项目配置settings.py详解

    夫唯不争,故天下莫能与之争 --老子<道德经> 本节内容 1.项目配置文件settings.py介绍 2.数据库配置[MySQL] 3.创建模型对象并和数据库同步 4.python官方提供 ...

  3. Django 项目配置拆分独立

    目录 一.创建配置目录 二.创建基础配置文件 三.创建各个环境的配置 四.调整settings.py 五.程序使用 六.目录结构 Django 项目中,我们默认的配置是都在 settings.py 文 ...

  4. django项目配置

    创建工程 本项目使用git管理项目代码,代码库放在gitee码云平台.(注意,公司中通常放在gitlab私有服务器中) 1. 在git平台创建工程 1) 创建私有项目库 2)克隆项目到本地 3)创建并 ...

  5. Django项目配置参数大全

    数据库的配置 配置文件: settings.pyDATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NA ...

  6. Django项目配置日志

    LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'verbose': { 'format': ...

  7. 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 ...

  8. django项目外部的脚本文件执行ORM操作,无需配置路由、视图启动django服务

    #一.将脚本路径添加到python的sys系统环境变量里 import sys # sys.path.append('c:/Users/Administrator/www/mymac') #第一种.绝 ...

  9. 使用pycharm调试django项目

    要使用pycharm调试django 打断点调试后台代码,首先要进行一下配置: 1.debug 配置 打开debug界面 2.选择python点+加号,然后选择python 3.名字debug,这个看 ...

  10. Linux学习,部署django项目到服务器,及安装python,uwsgi等

    开启网络 vi /etc/sysconfig/network-script/ifcfg-eth0 onboot=yes 退出保存 service network restart ping www.ba ...

随机推荐

  1. XMl转Map-map调用公共模板

    效果 <?xmlversion="1.0"encoding="utf-8"?> <SERVICE> <SERVICE_HEADER ...

  2. HTTP请求header信息讲解

    HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息.这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成.HTTP的头域包括通用头,请求头,响应头和 ...

  3. Android使用AsyncTask设置请求超时的注意事项

    备注:该篇文章为原创,转载请声明地址,谢谢! /** * AsyncTaskTools2集成了AsyncTask类 * 前三个参数为回到函数,最后一个为全局的Context */ final Asyn ...

  4. 二,ESP8266 GPIO和SPI和定时器和串口(基于Lua脚本语言)

    https://www.cnblogs.com/yangfengwu/p/7514336.html 我们写lua用这个软件 如果点击的时候提示安装,,安装就行,,如果没有提示呢可以,按照下面链接的提示 ...

  5. redis的使用,相比memcached

    redis支持数据持久化,不像memcached断电或者重启就丢失数据了. 支持持久化主要有两种方式,在redis.conf配置文件里配置. 1. 使用.rdb格式存储,配置save参数(save N ...

  6. 第16章 STM32中断应用概览

    第16章     STM32中断应用概览 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fi ...

  7. 数据预取 __builtin_prefetch()

    __builtin_prefetch() 是 gcc 的一个内置函数.它通过对数据手工预取的方法,减少了读取延迟,从而提高了性能,但该函数也需要 CPU 的支持. 该函数的原型为: void __bu ...

  8. 大数据入门第十四天——Hbase详解(三)hbase基本原理与MR操作Hbase

    一.基本原理 1.hbase的位置 上图描述了Hadoop 2.0生态系统中的各层结构.其中HBase位于结构化存储层,HDFS为HBase提供了高可靠性的底层存储支持, MapReduce为HBas ...

  9. 20155229《网络对抗技术》Exp6:信息收集与漏洞扫描

    实验内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点 (4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补 ...

  10. 20155237 第十一周java课堂程序

    20155237 第十一周java课堂程序 内容一:后缀表达式 abcde/-f+ 内容二:实现Linux下dc的功能,计算后缀表达式的值 填充下列代码: import java.util.Scann ...