Python - Django - 母版和继承
2024-08-22 11:42:19
可以把多个页面相同的部分提取出来,放在一个母板里,这些页面只需要继承这个母板就好了
通常会在母板中定义页面专用的 CSS 块和 JS 块,方便子页面替换
定义块:
{% block 名字 %}
{% endblock %}
views.py 中添加函数:
from django.shortcuts import render, redirect, HttpResponse
from app01 import models
import datetime def muban_test(request):
return render(request, "muban_test.html")
urls.py 中添加对应关系:
from django.conf.urls import url
from django.contrib import admin
from app01 import views urlpatterns = [
# 母板
url(r'^muban_test/', views.muban_test),
]
muban.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <hr> {# 定义母板 #}
{% block page-main %} {% endblock %} <hr> </body>
</html>
muban_test.html:
{# 首先继承母板 #}
{% extends 'muban.html' %} {# 这里的名字 page-main 和继承的母板的名字要相符 #}
{% block page-main %}
<h1>hello world</h1>
{% endblock %} <h1>Test</h1>
运行结果:
可以看到,muban_test.html 中没有写 hr,但是显示了从 muban.html 继承过来的 hr
muban_test.html 中写的 test 也没有显示出来,因为它是把块中的内容贴到母板中块的部分
views.py 函数中 return 的是 muban_test.html,而不是 muban.html
最新文章
- struts2文件上传提示信息国际化
- Splunk及splunkforward简单部署配置
- Effective Java 46 Prefer for-each loops to traditional for loops
- 使用Hydra扫描网络中存在SSH弱登录密码的Linux系统
- js中ajax如何解决跨域请求
- [转]Android访问网络,使用HttpURLConnection还是HttpClient
- scrapy中运行爬虫时出现twisted critical unhandled error错误
- POJ 2762 Going from u to v or from v to u? (Tarjan) - from lanshui_Yang
- jQuery操作checkbox的问题
- Linux - 命令行 管道(Pipelines) 详细解释
- 学习Sass(二)
- 从零开始学习C#——HelloWorld(一)
- 201521123121 《Java程序设计》第9周学习总结
- Tomcat 优化方案 和 配置详解(转)
- Java多线程01(Thread类、线程创建、线程池)
- DML&;&;DQL
- AHOI中国象棋(dp)
- 自制操作系统Antz(5)——深入理解保护模式与进入方法
- 循序渐进学.Net Core Web Api开发系列【9】:常用的数据库操作
- mysql大表优化
热门文章
- python 类 双下划线解析
- Codeforces Round #508 (Div. 2)【A,B,C,D】【实验室日常周赛训练】
- php技能树---大神的进阶之路
- 飞扬的小鸟 DP
- LOJ2327 「清华集训 2017」福若格斯 【不平等博弈】
- AJAX是什么,如何使用AJAX?
- mac clion c/c++环境配置
- 【BZOJ】BZOJ3040 最短路 线段树优化Dijkstra
- SpringMVC+Spring+Mybatis简单总结
- ICEM-带把圆环