Django模板导入母版继承和自定义返回Html片段过程解析

yipeiwu_com5年前Python基础

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的页面

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

浅谈python写入大量文件的问题

今天准备把几个txt文件合并成一个文件时,用f.write方法写入时,发现程序执行完了,本应该十万行左右的txt记录,实际上只被写入了4k多行。 网上查了是因为程序执行速度太快,以至于读...

Python类的继承和多态代码详解

Python类的继承和多态代码详解

Python类的继承 在OOP(ObjectOrientedProgramming)程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(S...

python使用matplotlib绘图时图例显示问题的解决

python使用matplotlib绘图时图例显示问题的解决

前言 matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包。在使用Python matplotlib库绘制数据图时,需要使用图例标注数据类别,但是传...

Python tkinter的grid布局及Text动态显示方法

Python tkinter的grid布局及Text动态显示方法

在python中gui编程有很多中选择,如果是相对简单的gui的话使用python自带的tkinter即可,但是由于tkinter没有详细的API文档,要使用起来比较麻烦,而且不够美观,...

使用python实现离散时间傅里叶变换的方法

使用python实现离散时间傅里叶变换的方法

我们经常使用傅里叶变换来计算数字信号的频谱,进而分析数字信号,离散时间傅里叶变换的公式为: 可是自己动手实现一遍才是最好的学习。 在数字分析里面,傅里叶变换默认等时间间隔采样,不需...