django配置templates、static、media和连接mysql数据库
1.模板文件
# =======templates配置=======
if os.path.exists(os.path.join(BASE_DIR, 'templates')) is False:
os.mkdir(os.path.join(BASE_DIR, 'templates'))
TEMPLATES = [
{
# 模板引擎,内置的模板引擎有:
# 1. 'django.template.backends.django.DjangoTemplates'
# 2. 'django.template.backends.JInJa2.JInja2'
# 你也可以使用非Django的模板引擎
'BACKEND': 'django.template.backends.django.DjangoTemplates', # 引擎用于查找模板源文件的目录,按搜索顺序排列
'DIRS': [os.path.join(BASE_DIR, 'templates'), os.path.join(BASE_DIR, "mobile_app/dist"),
os.path.join(BASE_DIR, "big_screen/screenpro/dist"), ], # 引擎是否在已经安装的应用程序的目录内查看模板源文件
'APP_DIRS': True, # 传递给模板引擎(backend)的其他参数,不同引擎,可用的参数不一样
'OPTIONS': {
'context_processors': [
# 全局的processors,它默认是被传递给views中html模板的RequestContext对象
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
# u"在模板变量中添加 {{ MEDIA_URL }}"
"django.template.context_processors.media",
# u"在模板变量中添加 {{ STATIC_URL }}"
"django.template.context_processors.static",
# 添加 移动标识 device(自定义)
"prod_core.template.context_processors.mobile",
],
},
},
]
2.静态文件
# ======static配置======
if os.path.exists(os.path.join(BASE_DIR, 'static')) is False:
os.mkdir(os.path.join(BASE_DIR, 'static')) # 由templates配置中"django.template.context_processors.static"读取
# 可以在html模板上使用{{ STATIC_URL }}读取STATIC_URL
STATIC_URL = '/static/' # python manage.py collectstatic 命令收集静态文件的目录,将各个app目录下的static收集于项目目录下的static中
STATIC_ROOT = 'static' # 放各个app的static目录及公共的static目录
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "mobile_app/dist/static/"),
os.path.join(BASE_DIR, "big_screen/screenpro/dist/static/")
] STATICFILES_FINDERS = (
# 用来从 STATICFILES_DIRS 指定的路径中查找额外的静态文件
'django.contrib.staticfiles.finders.FileSystemFinder',
# 从 INSTALLED_APPS 列表内的 APP 所在包的 static 目录中查找资源文件
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# other finders.. css,js等文件压缩
'compressor.finders.CompressorFinder',
)
# 项目一级路由urls.py配置,方便通过url访问,实测不添加也可以访问
from django.views.static import serve
url(r'^static/(?P<path>.*)$', serve, {'document_root': settings.STATIC_ROOT}),
3.媒体文件
# ======media配置======
if os.path.exists(os.path.join(BASE_DIR, 'media')) is False:
os.mkdir(os.path.join(BASE_DIR, 'media'))
# media目录,相当于设置媒体文件的绝对路径
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
# 由templates配置的django.template.context_processors.media读取
# 在html模板上使用{{ MEDIA_URL }}读取媒体根目录
MEDIA_URL = '/media/'
# 项目一级路由urls.py配置,方便通过url访问
from django.views.static import serve
url(r'^media/(?P<path>.*)/$', serve, {"document_root": settings.MEDIA_ROOT}),
4.数据库配置
# =======数据库配置======
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'HOST': 'localhost', # 主机
'USER': 'root', # 用户
'PASSWORD': 'root', # 密码
'PORT': '3306', # 端口号
'NAME': 'mysite', # 数据库名
}
}
ps:
使用django-compressor压缩静态文件:https://www.cnblogs.com/skying555/p/5972735.html
django配置templates、static、media和连接mysql数据库的更多相关文章
- 在Django中连接MySQL数据库(Python3)
我的环境: python3.6, Django2.1.5, MySQL8.0.15, win10, PyCharm, 要求:已经安装了MySQL数据库 ...
- Django连接MySQL数据库配置
1.自己手动创建数据库 create database 数据库名; # 如: create database bms character set utf8; # 授权访问: grant all pri ...
- django连接mysql数据库以及建表操作
django连接mysql数据库需要在project同名的目录下面的__init__.py里面加入下面的东西 import pymysql pymysql.install_as_MySQLdb() 找 ...
- django新建项目,连接mysql数据库
安装django,进入Django目录,运行 python setup.py install 在workplace目录下新建一个名为site01的项目: cd workplacedjango-admi ...
- Myeclipes连接Mysql数据库配置
相信大家在网站上也找到了许多关于myeclipes如何连接mysql数据库的解决方案,虽然每一步都按照他的步骤来,可到最后还是提示连接失败,有的方案可能应个人设备而异,配置环境不同导致.经过个人多方探 ...
- Django 连接 MySQL 数据库及常见报错解决
目录 Django 连接 MySQL数据库及常见报错解决 终端或者数据库管理工具连接 MySQL ,并新建项目所需数据库 安装访问 MySQL 的 Python 模块 Django 相关配置 可能会遇 ...
- [技术博客]django连接mysql数据库的方法及部分问题的解决方法
配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版本:Django 2.2 MySql版本:5.7.26 数据库选择 我们 ...
- Django学习:连接Mysql数据库
开发环境: Windows 10 Python 3.7.4 Django 2.2.6 Mysql 8.0.17 承接上一节:https://www.cnblogs.com/daydayupup/p/1 ...
- hibernate简单连接mysql数据库配置
使用hibernate连接mysql数据库 1:项目搭建好之后,在lib包中添加必要的jar包,和mysql数据库驱动jar包: jar包可以在hibernate的下载包(hibernate3.3.2 ...
随机推荐
- 【SRM20】数学场
第一题 n个m位二进制,求异或值域总和. [题解]异或值域--->使用线性基,解决去重问题. m位二进制--->拆位,每位根据01数量可以用组合数快速统计总和. #include<c ...
- 20155117王震宇 实验三 敏捷开发与XP实践 实验报告
实验内容 XP基础 XP核心实践 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 2.完成实验.撰写实验报告,实 ...
- NB二人组(二)----归并排序
归并排序的思路: 归并算法程序(配合下图进行思考): def merge(li,low,mid,high): i = low j = mid + 1 ltmp=[] while i <= mid ...
- isolation forest进行异常点检测
一.简介 孤立森林(Isolation Forest)是另外一种高效的异常检测算法,它和随机森林类似,但每次选择划分属性和划分点(值)时都是随机的,而不是根据信息增益或者基尼指数来选择.在建树过程中, ...
- KVC, KVO 实现原理
Key-Value Coding: 键值编码 (KVC) 方法调用: // 对象属性 // 类似: Person -> name setValue: forKey: // 对象的属性或者 属性的 ...
- loadrunner 测试问题汇总
1.关于Error -27791: Error -27790:Error -27740: 错误如下: Action.c(198): Error -27791: Server ...
- 关于Hazard Pointers的话题
关于Hazard Pointers的话题, 起源于这个文章: 实现无锁的栈与队列(4) http://www.cnblogs.com/catch/p/3176636.html 其实他的系列文章(3)之 ...
- 手机页面或是APP中减少使用setTimeout和setInterval,因为他们会导致页面卡顿
1.setTimeout致使页面的卡顿或是不流畅,打乱模块的生命周期 ,还有setTimeout其实是很难调试的. 当一个页面有众多js代码的时候,setTimeout就是导致页面的卡顿. var s ...
- Fiddler Web Session 列表(1)
Web Session 列表 位置: Web Session 列表 位于Fiddler界面的左侧 ,是Fiddler所抓取到的所有Session会话的列表集合. Web Session 列表 栏名词解 ...
- Base Class 慎用箭头函数
在项目中,child继承base的时候,需要重新修改base.fun的逻辑,但是有些情况下面并不是简单的覆盖,而是在base.fun的逻辑基础上进行加工处理. 刚开始接触es6的时候也许都遇到过,ch ...