Django模板导入母版继承和自定义返回Html片段过程解析
作者:Roc_Atlantis 发布时间:2023-06-16 21:13:38
标签:django,模板,导入,返回,html
1.ROOT_URLCONF = '总路由所在路径(比如untitled.urls)'<===默认情况是这样
根路由的路径是可以修改的:ROOT_URLCONF = app01.urls<===根路由写在app01下面
2.静态文件引入的三种方式
一:
<link rel="stylesheet" href="/static/dd/ssmycss.css" rel="external nofollow" >
.
二:
{% load static %}
<link rel="stylesheet" href="{% static 'dd/ss/mycss.css' %}" rel="external nofollow" >
三:
<link rel="stylesheet" href="{% get_static_prefix %}dd/ss/mycss.css" rel="external nofollow" >
3.模板导入===就是这么简单
把公共的部分,放在一个新建的模板中,比如index.html。
想在哪里用公共的部分,直接{%include ‘index.html'%}<===标签
母版继承 === 这个才是个小重点
母版的样式是固定的,所以继承过来的盒子不论在前还是在后,位置都是不变的。
1 写一个母版 base.html ===母版
2 要更改的地方( )
{% block base %} base是母版的盒子名称
母版的盒子里也可以写东西
{% endblock %}
3 调用:
3.1 必须写在第一行 {%extends 'base.html' %}
3.2 {% block base %}
自己的东西
{% endblock my_head%} 这儿加my_head是为了更清晰的看到结束条件。
3.3 还想用母版里的内容({{block.super}} 放在那,原来母版里的东西,就会渲染在哪)
{% block base %}
{{block.super}}
自己的东西
{% endblock my_head%}
3.4 如过不继承盒子,它会用原来的内容,如果继承了,没写自己的东西,它会空白,替换了原来的盒子。
3.5 盒子在继承时,跟顺序无关
自定义返回Html片段步骤
自定义 inclusion_tag
1 先去setting里面把app名字配置上
2 再app目录下创建一个templatetags模块
3 写py文件(my_test.py)
4 from django import template
5 register=template.Library()
6 @register.inclusion_tag('test.html')
def my_inclusion(n):
data=[]
for i in range(n):
data.append('第%s行'%i)
return {'data':data}
7 写test.html页面
<ul>
{% for choice in data %}
<li>{{ choice }}</li>
{% endfor %}
</ul>
8 {% load my_test %}
9 {% my_inclusion 10 %} 它会返回html的页面
来源:https://www.cnblogs.com/Roc-Atlantis/p/9605495.html


猜你喜欢
- 本文实例为大家分享了雪花飞舞效果javascript实现,供大家参考,具体内容如下原理:1、js动态创建DIV,指定CLASS类设置不同的背
- 前言任何应用都离不开数据,所以在学习python的时候,当然也要学习一个如何用python操作数据库了。MySQLdb就是python对my
- 从cnblogs看到的代码,作者的代码随便不兼容firefox但,有助于大家学习为什么下面的代码兼容了firefox,大家可以对比下,有助于
- 子线程里是不能更新UI界面的,在移动端方面。Android的UI访问是没有加锁的,多个线程可以同时访问更新操作同一个UI控件。也就是说访问U
- Math 对象js 给我们提供了一些操作数字的方法也是一种数据类型 是复杂数据类型Math对象的通用语法: Math.xxx()random
- QSplitter使用户可以通过拖动子面板的边界控制子面板的大小。在我们的例子中,我们使用了两个QSplitter 对三个QFrame 控件
- django中的超链接,在template中可以用{% url 'app_name:url_name' param%}其中a
- 以下是我开发时碰到的问题以及心得经验,花了些时间调试,贴出来避免大家少走弯路,如有错误欢迎指正,持续更新ing xml文件尽量以
- --为空的值text ntext select * from lf_newsNg_utf where datalength(newsCont
- 1. 原理2014年的一篇文章,开创cnn用到文本分类的先河。Convolutional Neural Networks for Sente
- 无意间碰到的一个大神整理的Python学习思维导图,感觉对初学者理清学习思路大有裨益,非常感谢他的分享。14 张思维导图基础知识数据类型序列
- python运行或调用另一个py文件或参数1. 运行另一个py文件(1)在file_A.py中运行file_B.py文件import oso
- 本文实例讲述了JavaScript对象的浅拷贝和深拷贝。分享给大家供大家参考,具体如下:1、浅拷贝仅仅复制对象的引用,而不是对象本身。var
- GIT作为源码管理的方式现在是越来越流行了,在VisualStudio 2012中,就通过插件的现实对GIT进行了官方支持,并且这个插件在V
- 1 问题描述最近与诸位聊起,在用户体验网站产品、完成任务的过程中,页面的切换到底是新开窗口,还是当前页面跳转,哪一种是最佳的用户体验。这一讨
- 源代码如下:#-*- coding:utf-8 -*- def check_exsit(process_name): import win3
- python中,我们可以对列表、字符串、元祖中的元素进行排序,那对于字典中的元素可以排序吗?其实对于字典本身我们无法进行排序,但是我们可以对
- MySQL使用环境变量TMPDIR的值作为保存临时文件的目录的路径名。如果未设置TMPDIR,MySQL将使用系统的默认值,通常为/tmp、
- SQL,数据分析岗的必备技能,你可以不懂Python,R,不懂可视化,不懂机器学习。但SQL,你必须懂。要不然领导让你跑个数据来汇.....
- UDP 客户端一个使用UDP协议的客户端示例代码,用于实现连续对话。请注意,UDP是无连接协议,因此在实现连续对话时需要特别小心。以下是示例