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访问    
url(r'^static/(?P<path>.*)$', 'django.views.static.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访问
url(r'^media/(?P<path>.*)/$', "django.views.static.serve", {"document_root": settings.MEDIA_ROOT}),

 4.数据库配置

# =======数据库配置======
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql',  # 数据库引擎'HOST': 'localhost',  # 主机'USER': 'root',  # 用户'PASSWORD': 'root',  # 密码'PORT': '3306',  # 端口号'NAME': 'mysite',  # 数据库名}
}

 

转载于:https://www.cnblogs.com/konglingxi/p/9406757.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue调用顺序(初学版) index.html → main.js → app.vue → index.js → components/组件 测试

关于它是怎么调用运作的&#xff1a;https://mp.csdn.net/postedit/86134414 一. 准备工作&#xff1a; 1.下载webstorm&#xff0c;安装vue。 2.创建项目&#xff0c;cd到要放项目的文件夹下 vue init webpack vue_test 3.安装各种包 npm install 4.运行 cd vue_test …

web开发:jquery之DOM

一、文档结构 二、文档操作 三、文档操作案例 四、form表单 五、正则 六、form案例 一、文档结构 jsvar $sup $(.sup);console.log($sup.children()); // 子们console.log($sup.parent()); // 父console.log($sup.prev()); // 上兄弟console.log($sup.next()); // 下兄弟c…

NO.8:自学python之路------并行socket网络编程

摘要 一到放假就杂事很多&#xff0c;这次的作业比较复杂&#xff0c;做了一个周&#xff0c;进度又拖了。不过结果还不错。 正文 粘包 在上一节中&#xff0c;如果连续发送过多数据&#xff0c;就可能发生粘包。粘包就是两次发送的数据粘在一起被接收&#xff0c;损坏了数据的…

vue项目中主要文件的加载顺序(index.html、App.vue、main.js)

先后顺序&#xff1a; index.html > App.vue的export外的js代码 > main.js > App.vue的export里面的js代码 > Index.vue的export外的js代码 测试的页面代码块&#xff1a; 文件的加载先后顺序&#xff1a; Index.vue的mounted()中的输出没有执行。why&#…

Http请求报头设置(C#)

1、添加一个SetHeaderValue方法&#xff1a; public static void SetHeaderValue(WebHeaderCollection header, string name, string value) { var property typeof(WebHeaderCollection).GetProperty("InnerCollection",BindingFlags.Instance | BindingFlags.NonP…

vue-cli3使用cdn引入

1. index.html引入&#xff1a; <script src"https://cdn.bootcss.com/moment.js/2.20.1/moment.min.js"></script> <script src"https://cdn.bootcss.com/moment.js/2.20.1/locale/zh-cn.js"></script>2. vue.config.js配置&…

vue常用属性

Vue实例常用属性 1.数据 data:Vue 实例的数据对象 components&#xff1a;Vue实例配置局部注册组件 1.类方法 computed:计算属性 watch&#xff1a;侦听属性 filters&#xff1a;过滤器 methods:Vue实例方法 render&#xff1a;渲染函数&#xff0c;创建虚拟DOM 1.生命周期 c…

凸包算法

转载自&#xff1a;https://blog.csdn.net/bone_ace/article/details/46239187 凸包问题的五种解法 2015年05月29日 17:58:51 阅读数&#xff1a;33660前言&#xff1a; 首先&#xff0c;什么是凸包&#xff1f; 假设平面上有p0~p12共13个点&#xff0c;过某些点作一个多边形&a…

一个优雅的占位图解决方案。适用于 UITableView 和 UICollectionView。

FMListPlaceholder 项目地址&#xff1a;https://github.com/yfming93/FMListPlaceholder 一个优雅的占位图解决方案。适用于 UITableView 和 UICollectionView。 一行代码处理空列表占位图逻辑 0x001 与其他的同类三方库对比的优点&#xff1a; 首次进入列表占位图是不显示的。…

es7 async 前置依赖

https://stackoverflow.com/questions/33527653/babel-6-regeneratorruntime-is-not-defined 移动端 px2rem-loader 转载于:https://www.cnblogs.com/smzd/p/10560176.html

vue中 关于$emit的用法

1、父组件可以使用 props 把数据传给子组件。 2、子组件可以使用 $emit 触发父组件的自定义事件。 vm.$emit( event, arg ) //触发当前实例上的事件 vm.$on( event, fn );//监听event事件后运行 fn&#xff1b; 例如&#xff1a;子组件&#xff1a; <template><di…

SSO阅读有感

SSO比较详细且理解。赞 链接&#xff1a;https://www.cnblogs.com/ywlaker/p/6113927.html转载于:https://www.cnblogs.com/z1j2r3/p/9408480.html

C语言——反弹球游戏(第二阶段

#include<stdio.h> #include<stdlib.h> #include<windows.h> #include<conio.h>#define High 15 //游戏画面尺寸 #define Width 20//全局变量 int ball_x,ball_y; //小球的坐标 int ball_vx,ball_vy; //小球的速度 int canvas[High][W…

docker运行我们的容器

docker images docker pull nginx 运行 docker images 查看Nginx镜像是否获取成功&#xff0c;若为如下所示即为获取成功&#xff1a; docker run -p 8080:80 -d nginx docker run –name 容器名 -d&#xff08;后台运行&#xff09;-p 本地端口:容器端口 -v(挂载) 挂载本地路径…

vue-transition动画

demo点击显示与消失 <div id"demo"><button v-on:click"show !show">Toggle</button><transition name"fade"><p v-if"show">hello</p></transition> </div> <script> new V…

luogu P1896 [SCOI2005]互不侵犯

去tm插头dp 数据范围这么小,又要求,显然上dp 设\(f[i][j][k]\)表示放到第\(i\)行,总共放了\(j\)个那啥,第\(i\)行的格子状态为\(k\)的方案 先预处理出一行内状态的放置个数和格子状态,因为那啥占据周围一圈的格子,所以转移时前后两行格子状态没有交集的状态转移 #include<al…

Java String:重要到别人只能当老二的字符串类

字符串&#xff0c;是Java中最重要的类。这句肯定的推断不是Java之父詹姆斯高斯林说的&#xff0c;而是沉默王二说的&#xff0c;因此你不必怀疑它的准确性。 关于字符串&#xff0c;有很多的面试题&#xff0c;但我总觉得理论知识绕来绕去没多大意思。你比如说&#xff1a;Str…

vue 中slot 的具体用法

子组件 <template><div class"slotcontent"><ul><!--<slot></slot>--><li v-for"item in items">{{item.text}}</li></ul></div> </template><script>export default{data(){re…

Java基础教程:多线程基础(3)——阻塞队列

Java基础教程&#xff1a;多线程基础&#xff08;3&#xff09;——阻塞队列 快速开始 引入问题 生产者消费者问题是线程模型中的经典问题&#xff1a;生产者和消费者在同一时间段内共用同一存储空间&#xff0c;生产者向空间里生产数据&#xff0c;而消费者取走数据。 模拟情景…

001.Linux开机启动过程

相关Linux启动过程解析&#xff0c;此作为通用启动参考&#xff1a; 转载于:https://www.cnblogs.com/itzgr/p/10285833.html