首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >css/js的Django 'Include‘模板

css/js的Django 'Include‘模板
EN

Stack Overflow用户
提问于 2017-08-07 07:00:54
回答 2查看 2.9K关注 0票数 2

我有一个通用模板,用于包含html (即。(menubar.html中的菜单栏)通过include标记进入其他应用程序模板。它具有一些已定义的cssjs功能,存储在各自的menubar.css\menubar.js文件中。

menubar.html文件中包含这些文件的链接似乎要方便得多,如下所示:

代码语言:javascript
运行
AI代码解释
复制
//At the Start
<link rel="stylesheet" href="{% static '<appname>/css/menubar.css' %}" />

//.... other menubar HTML

//At the End
<script src="{% static '<app_name>/js/menubar.js' %}"></script>

我担心这不是一个好的实践,因为模板将加载css (不在HEAD中)和js (未位于BODY末尾)。它们被描述为标准HTML实践

明确的替代方法是将cssjs链接到包含子模板的每个模板中,但这似乎很乏味。

我知道扩展模板也是可能的,但是我相信css/js的使用也会出现同样的问题。

什么是最好的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-07 07:41:52

您可以在这里使用django-sekizai包:

https://django-sekizai.readthedocs.io/en/latest/

您将有一个基本模板,如下所示:

代码语言:javascript
运行
AI代码解释
复制
{% load sekizai_tags %}
<!DOCTYPE html>
<html lang="en">
    <head>
        ...
        <!-- other css and head content goes here -->
        {% render_block "css" %}
    </head>
    <body>
        ...

        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
        {% render_block "js" %}        
    </body>
</html>

然后,在您的menubar.html中,您可以在模板中的任何地方添加以下内容,它们将被添加到页面头部,并将javascript添加到正文的底部:

代码语言:javascript
运行
AI代码解释
复制
{% addtoblock "css" %}
    <link rel="stylesheet" href="{% static '<appname>/css/menubar.css' %}"/>
{% endaddtoblock %}

{% addtoblock "js" %}
    <script src="{% static '<app_name>/js/menubar.js' %}"></script>
{% endaddtoblock %}

这是一个非常方便的包裹!

票数 4
EN

Stack Overflow用户

发布于 2017-08-07 07:09:51

通过使用模板继承,您可以在django中动态加载js和css。这是参考

上发布的关于javascript加载的文章中,继承标记的使用可能如下所示:

代码语言:javascript
运行
AI代码解释
复制
#base.html
{% block js %}
   <script src="{% static '<app>/js/resource.js' %}"></script>
   ... //other scripts
{% endblock %}

然后在另一个模板中:

代码语言:javascript
运行
AI代码解释
复制
# child.html
{% extends base.html %}

{% block js %}
   {{ block.super }} //Includes base.html js block content
   <script src="{% static '<otherapp>/js/resource2.js' %}">
   ... //other scripts
{% endblock%}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45550036

复制
相关文章
django模板语法之include
假如我们有以下模板index.html,代码为: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div>网页公共头部部分</div> <h2> 网页body部分 </h2> <div>网页公共底部部分</div> </body> </html> 做过web开发的童鞋知道大部分网页的公共头部,公共底部部分代码每个页面都一样,那么就应该
用户1214487
2018/01/24
1.4K0
django-模板之include标签(十五)
就是将一些常用的html代码分离出来,使其可以重复利用,减少代码量 index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{{title}}</title> <link rel="stylesheet" href={% static 'css/index.css' %}> </head> <body> {% include 'header.html'%} <di
西西嘛呦
2020/08/26
7410
Django网页模板的继承include与复用extends
Django使用网页模板的方式分为两种, 一是建立代码块, 在新的页面导入代码块, 关键词为include 二是建立模板,新的页面在模板基础上扩充, 关键词为extends
zhaoolee
2018/09/20
1.2K0
Django网页模板的继承include与复用extends
python测试开发django-6.模板中include使用
当我们打开一个网站的时候,在打开不同的页面时候,会发现每个页面的顶部、底部内容都差不多,这样就可以把这些公共的部分,单独抽出来。 类似于python里面的函数,把公共部分写成函数,然后调用就行了,这样就能实现代码的复用。django里面也有类似的功能,用include可以实现。
上海-悠悠
2018/12/13
8440
Django静态文件(CSS,JS等)
静态文件是指js,css,图片等文件。render可以返回模板文件(HTML),但是缺少了js,css。在Django中我们一般会指定一个目录存放静态文件,这样方便管理。在现在前后端分离的大环境之下,静态文件我们几乎也用不到。另外在HTML中调用的时候也需要指定静态文件的路径。一般都会将静态文件放置在项目的根目录下。要使用静态文件,需要配置两个参数。
zy010101
2021/10/09
2.8K0
Django静态文件(CSS,JS等)
Django模板结构优化所需要的三个Tag:include,extends,block
一般的网页都有头部(header),底部(footer),然后这些部分通常是不会变的,所以在Django中可以利用include引入模板文件,如我的头部文件是:
SingYi
2022/07/14
4930
Django模板结构优化所需要的三个Tag:include,extends,block
django 配置django_compressor 2.3 压缩js和css
最新的django_compressor和之前版本的配置方式稍有差别,记录在此以免再走弯路。
小贝壳
2020/03/05
1.3K0
Django教程 —— Django模板
这样定义就太麻烦了吧,并且定义字符串是不会出任何效果和错误,如果有一个专门定义前端页面的地方就好了。
忆想不到的晖
2021/09/29
1.6K0
Django教程 —— Django模板
Django 模板
在html文件中,default 为变量提供一个默认值,如果views传的变量布尔值为false,则使用指定的默认值,如果为true,就使用views传的变量值;
HammerZe
2022/03/25
4.9K0
Django 模板
Django模板
原型:render(request, templateName[, context])
星哥玩云
2022/09/14
5560
Django模板
Django的模板系统
  {{ }} 和 {% %}  (变量相关用{{ }}  逻辑相关用{% %})
py3study
2020/01/21
1.7K0
django-URL之include函数(五)
(3)include((pattern_list,app_namespace),namespace)
西西嘛呦
2020/08/26
5400
CSS 思考 ☞『CSS in JS』 or 『JS in CSS』 ?
本瓜所在的项目组技术栈主要是 Vue2,平常又疏于 CSS 探究,对 JSX 里融合写 CSS 这种全面组件化的写法了解不多。
掘金安东尼
2022/11/30
26.3K0
CSS 思考 ☞『CSS in JS』 or  『JS in CSS』 ?
Django模板语言
TomatoCool
2023/07/30
2170
Django 模板4.1
模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视图可以使用任意一个模板,一个模板可以供多个视图使用 模板包含 HTML的静态部分 动态插入内容部分 Django模板语言,简写DTL,定义在django.template包中 由startproject命令生成的settings.py定义关于模板的值: DIRS定义了一个目录列表,模板引擎按列表
Lansonli
2021/10/09
1.4K0
Django模板标签
==, !=, >=, <=, >, < and, or, not, in, not in这些操作符都可以在模板中使用
星哥玩云
2022/09/14
1.7K0
Django模板(HTML)
Django中的模板相当于传统MVC模式中的V,而在Django的MVT中,模板是T。在传统的前后端不分离的开发形式中,Django的模板是非常有用的,但是在今天前后端分离的大环境下,Django模板基本没有什么用处。
zy010101
2021/10/09
5.3K0
Django模板(HTML)
Django中的模板相关
1.render_to_string :找到模板,然后将模板编译后渲染成Python的字符串格式。最后再通过 HttpResponse 类包装成一个 HttpResponse 对象返回回去。示例代码如下:
bering
2023/10/16
3560
Django渲染模板
在页面上显示内容可以简单的用django.http.HttpResponse来显示我们需要的内容,但是当我们需要一些处理一些复杂的数据或者从数据库读出来的操作要显示在html标签内或者js代码中就需要用渲染模板的方法。
earthchen
2020/09/24
7560
Python Web 菜谱系统的首页,不会前端技术,也能做【附源码】
滚雪球第三轮核心学习的是 Python Web 相关知识点,那不可避免的会涉及到前端技术栈,如果你对 HTML,CSS 完全零基础,学习来可能比较吃力,建议可以先补充一些前端知识,便于后续学习,你也可以先直接进入 Django 学习阶段,问题不大。
查理不是猹
2022/01/08
5860

相似问题

include JS脚本中的Django模板替换

20

Django模板,'include‘css而不是使用链接

11

Django模板{% Include%}回退值

111

js:{% block include %}-style模板的模板引擎

10

Django模板-更改'include‘模板的上下文

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档