zoukankan      html  css  js  c++  java
  • django模板使用


    概述

    模板由两部分组成,HTML代码,逻辑控制代码,作用:快速生成HTML页面,优点:模板的设计实现了业务逻辑与现实内容的分离


    定义模板

    挖坑与继承

    模板继承可以减少页面的内容的重复定义,实现页面的重用,在父模板中预留区域,子模板去填充。

    block标签

    父html页面挖坑

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    	{% block content %}
    	
    	{% endblock %}
    </body>
    </html>
    

    子html页面继承

    	{% extends 'father.html' %}
    
    	{% block content %}
    		<!--写子模板的内容,会重写父模板,显示子模板内容-->
    		<!--不写内容调用父模板用super-->
    		{{ block.super }} 
    	{% endblock %}
    

    if标签

    	{% if 表达式1 %}
    		{# 语句1 #}
    	{% elif %}
    		{# 表达式2 #}
    	{% else %}
    		{# 表达式3#}
    	{% endif %}
    
    
    

    for标签

    	{% for 变量 in 迭代对象 %}	
    		{# 语句1 #}
    	{% empty %}
    		{# 语句2 #}
    	{% endfor %}
    
    
    

    comment标签

    	{% comment %}
    		{# 多行注释 #}
    		{# {# 单行注释 #} #}
    	{% endcomment %}
    
    

    ifequal、ifnotequal标签

    	{% ifequal a b %}
    		{# a,b是否相等#}
    	{% endifequal %}
    	
    	{% ifnotequal a b %}
    		{# 判断a,b是否不等 #}
    	{% endifnotequal %}
    

    url标签

    	{% url 'namespace:name' %}
    		{# 反向解析 #}
    
    

    csrf_token标签

    	{% csrf_token %}
    		{# 用于跨站请求伪造保护 #}
    
    

    autoescape标签

    	{% autoescape off %}
    		{{code}}
    		{# 用于HTML转义 #}
        {% endautoescape %}
    
    
    

    过滤器

    lower

    	{{变量|lower}}
    	{# 将变量转换为小写显示#}
    

    upper

    	{{变量|upper}}
    	{# 将变量转换为大写显示#}
    

    join

    	{{str|join:'*'}}
    	{# 将传过来的str用*连接起来#}
    	
    

    date

    	{{date|date:'Y-m-d'}}
    	{# 设置日期格式 #}
    
    

    html转移

    	{{code|escape}}
    	{{code|safe}}
    

    加减乘除p>

    	{{num|add:10}}
    		{# 加10 #}
    	{{num|add:-5}}
    		{# 减5 #}
    	{% widthratio num 1 5 %}
    		{# 乘5 #}
    	{% widthratio num 1 5%}
    		{# 除5#}
    	
    

    CSRF

    跨站请求伪造:某些恶意网站包含链接、表单、按钮、js,利用登陆用户在浏览器中认证,从而攻击服务.

    防止CSRF:在settings.py文件中的MIDDLEWARE增加'django.middleware.csrf.CsrfViewMiddleware'

    想要不可替代,必须与众不同
  • 相关阅读:
    YAML 语法小结
    小程序之脚本语言
    小程序WXML 使用小结
    微信小程序 js逻辑
    小程序开发1
    联想Y7000安装Ubuntu16.04/Win10双系统,wifi问题,显卡驱动和CUDA10安装
    VS2015中配置Eigen
    联想Y700安装显卡驱动和CUDA8.0
    php微信生成微信公众号二维码扫描进入公众号带参数
    Y7000 (1)安装ubuntu1604遇到的问题
  • 原文地址:https://www.cnblogs.com/xcool/p/9900884.html
Copyright © 2011-2022 走看看