django配置templates、static、media和连接mysql数据库
2024-09-23 18:21:19
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
最新文章
- Oracle并发与多版本控制
- Oracle分区表!
- zabbix搭建
- [家里蹲大学数学杂志]第235期$L^p$ 调和函数恒为零
- ComponentOne Xuni助力Xamarin开发者突破百万,快速开发Android、IOS Apps
- iOS打包ipa select a method for export几个选项的意思
- 巨大bug
- 【C# -- OpenCV】Emgu CV 第一个实例
- C++ Primer注意事项11_运算符重载_算术/关系运算符_下标运算符
- html 初始化
- Easy UI下拉列表默认选中(多行)与为文本框赋值
- 如何对mRemoteNG在进行Linux终端访问时自定义配色
- ubuntu18系统美化
- spring cloud 工程构建
- kmeans聚类理论篇
- 使用Browser请求 和 在cli中运行程序的分析
- javax.net.ssl.SSLException: Certificate doesn&#39;t match any of the subject alternative names
- php7之严格模式RFC
- Flask最强攻略 - 跟DragonFire学Flask - 第九篇 Flask 中的蓝图(BluePrint)
- test example