django怎么创建模板文件(django模板加载静态文件的方法步骤)
django怎么创建模板文件
django模板加载静态文件的方法步骤加载静态文件
在一个网页中,不仅仅只有一个 html 骨架,还需要 css 样式文件, js 执行文件以及一些图片等。因此在 DTL 中加载静态文件是一个必须要解决的问题。在 DTL 中,使用 static 标签来加载静态文件。要使用 static 标签,首先需要 {% load static %} 。加载静态文件的步骤如下:
首先确保 django.contrib.staticfiles 已经添加到 settings.INSTALLED_APPS 中。
确保在 settings.py 中设置了 STATIC_URL 。
在已经安装了的 app 下创建一个文件夹叫做 static ,然后再在这个 static 文件夹下创建一个当前 app 的名字的文件夹,再把静态文件放到这个文件夹下。例如你的 app 叫做 book ,有一个静态文件叫做 zhiliao.jpg ,那么路径为 book/static/book/zhiliao.jpg 。(为什么在 app 下创建一个 static 文件夹,还需要在这个 static 下创建一个同 app 名字的文件夹呢?原因是如果直接把静态文件放在 static 文件夹下,那么在模版加载静态文件的时候就是使用 zhiliao.jpg ,如果在多个 app 之间有同名的静态文件,这时候可能就会产生混淆。而在 static 文件夹下加了一个同名 app 文件夹,在模版中加载的时候就是使用 app/zhiliao.jpg ,这样就可以避免产生混淆。)
如果有一些静态文件是不和任何 app 挂钩的。那么可以在 settings.py 中添加 STATICFILES_DIRS ,以后 DTL 就会在这个列表的路径中查找静态文件。比如可以设置为:
|
STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static" ) ] |
在模版中使用 load 标签加载 static 标签。比如要加载在项目的 static 文件夹下的 style.css 的文件。那么示例代码如下:
|
{ % load static % } <link rel = "stylesheet" href = "{% static 'style.css' %}" rel = "external nofollow" > |
如果不想每次在模版中加载静态文件都使用 load 加载 static 标签,那么可以在 settings.py 中的 TEMPLATES/OPTIONS 添加 'builtins':['django.templatetags.static'] ,这样以后在模版中就可以直接使用 static 标签,而不用手动的 load 了。
如果没有在 settings.INSTALLED_APPS 中添加 django.contrib.staticfiles 。那么我们就需要手动的将请求静态文件的 url 与静态文件的路径进行映射了。示例代码如下:
|
from django.conf import settings from django.conf.urls.static import static urlpatterns = [ # 其他的url映射 ] + static(settings.STATIC_URL, document_root = settings.STATIC_ROOT) |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
原文链接:https://www.jianshu.com/p/9473fc2772a7
- 织梦cms指定栏目怎么取(织梦CMS后台模板列表按字母排序方法)
- smartbattery插件正确使用方法(Smarty模板配置实例简析)
- dedecms模板特点(在Dedecms下面生成Google Sitemap的方法)
- dedecms如何使用标签(dedecms模板标签如何做判断示例代码)
- laravel admin文档(Laravel-添加后台模板AdminLte的实现方法)
- python图片模板匹配(python实现简单图片物体标注工具)
- django模板自定义(详解Django项目中模板标签及模板的继承与引用网站中快速布置广告)
- php关注公众号发送消息(php实现QQ小程序发送模板消息功能)
- dedecsm模板中首页如何实现分页的三种方法比较分析(dedecsm模板中首页如何实现分页的三种方法比较分析)
- dedecms导入doc插件(DEDECMS教程之静态模板类类文件)
- dede搜索模板代码(DEDE调用指定文章ID来调用特定文档)
- 微信小程序引用模板的函数(微信小程序页面与组件之间信息传递与函数调用)
- 织梦添加模板(解决织梦安装模板时提示不能安装的问题)
- 如何让yii2高级模板运行起来(Yii框架数据库查询、增加、删除操作示例)
- dedecms模板照片(DEDECMS首页调用图片集里的多张图片)
- smarty模板的使用方法实例分析(smarty模板的使用方法实例分析)
- 吉善缘《聚宝金蟾》金蟾招财摆件 三足全铜蟾蜍客厅店铺开业礼品(吉善缘聚宝金蟾金蟾招财摆件)
- 招财化煞神兽,金蟾变了(招财化煞神兽金蟾变了)
- 26岁杨紫的白素贞遇上24岁鞠婧祎,哪个最美(26岁杨紫的白素贞遇上24岁鞠婧祎)
- 鞠婧祎和杨紫两种风格的女生,你心里谁比较美(鞠婧祎和杨紫两种风格的女生)
- 三千年第一美女鞠婧祎出演白素贞pk杨紫,颜值胜赵雅芝王祖贤(三千年第一美女鞠婧祎出演白素贞pk杨紫)
- 成都轨道交通13号线一期工程最新进展(成都轨道交通13号线一期工程最新进展)
热门推荐
- php性能优化的思路和步骤(FastCGI轻松搞定IIS7.5+PHP5.6.0环境)
- sqlserver怎么显示变量所占字节数(SQL Server中关于基数估计计算预估行数的一些方法探讨)
- python线程安全队列(Python 限制线程的最大数量的方法Semaphore)
- SQL Server无法连接远程数据库的解决方法
- css浮动位置讲解(深入理解css布局之定位与浮动)
- cdn网络搭建(使用云服务器搭建网站还有必要使用CDN吗?)
- phpstudy修改为什么进不去(phpstudy2018升级后站点及phpmyadmin打开404解决方案)
- python处理时间序列常用方法汇总(python整小时 整天时间戳获取算法示例)
- react基础知识入门(浅谈React 的引入)
- ubuntu安装hadoop单机版(VMware + Ubuntu18.04 搭建Hadoop集群环境的图文教程)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9