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 ...
随机推荐
- Flex布局(伸缩盒布局)
Flexible Box是什么?Flexible意为可伸缩的,Box意为盒子,可以理解为一种新式的盒模型——伸缩盒模型.由CSS3规范提出,这是在原有的大家非常熟悉的block, inline-blo ...
- python 常用模块之ConfigParser
在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在Python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser, Python C ...
- 【CodeForces】960 F. Pathwalks 主席树+动态规划
[题目]F. Pathwalks [题意]给定n个点m条边的有向图,可能不连通有重边有自环.每条边有编号 i 和边权 wi ,求最长的路径(可以经过重复节点)满足编号和边权都严格递增.n,m,wi&l ...
- 第七周 ch04 课下测试补交
2017-2018-1 20155335 <信息安全系统设计基础>第7周 课下测试博客 本人不慎忘记去交dao'zhi 测试题目: SEQ+对SEQ的改变有() A . PC的计算挪到取指 ...
- Xcode变量概览-summary
问题描述 在Xcode中断点调试时,鼠标停留在变量上,就能看到变量的信息.但对于自定义对象,通常Xcode提供的直接信息非常有限,像这样 想要了解这个对象具体的内容,需要展开左边的箭头 当开发者想要知 ...
- android内存回收顺序
最近做项目的时候,经常会考虑到系统回收进程,释放资源等问题.特别查找了相关资料,了解下android内存回收顺序以及回收场景. 下面内容都为网络查找资料,若有错误,欢迎指出. 以下顺序,依次被回收的可 ...
- JSON与JS的区别以及转换
JSON是什么?(JSON和JavaScript对象有什么区别?)如何把JS对象转化为JSON字符串,又如何把JSON字符串转化为JavaScript对象? JSON (JavaScript Obje ...
- C++之C/C++内存对齐
一.什么是字节对齐,为什么要对齐 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这 ...
- Machine Learning系列--CRF条件随机场总结
根据<统计学习方法>一书中的描述,条件随机场(conditional random field, CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出 ...
- Sublime Text2使用规则
Sublime Text是我发现的有一好用的编辑器,它不单单只支持 python ,几乎支持目前主流的语言,快捷键丰富,可以极大的提高代码开发效率.Sublime Text 网址:http://www ...