• Python


    可以把多个页面相同的部分提取出来,放在一个母板里,这些页面只需要继承这个母板就好了

    通常会在母板中定义页面专用的 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

  • 相关阅读:
    1049: 贝贝的车牌问题(car)
    漂亮的验证码(.Net MVC)
    低危漏洞- X-Frame-Options Header未配置
    Linq中的连接(join)
    定时执行任务FluentScheduler
    NET定时任务执行管理器开源组件–FluentScheduler
    在ASP.NET中如何运行后台任务
    【译】微型ORM:PetaPoco
    3389凭据不工作
    C# LDAP认证登录
  • 原文地址:https://www.cnblogs.com/sch01ar/p/11265187.html
Copyright © 2020-2023  润新知