zoukankan      html  css  js  c++  java
  • Django模板简介

    在settings.py中有个TEMPLATES的设置,其中BACKEND用来配置Django模板引擎,
    DIRS 定义了一个目录列表,模板引擎按列表顺序搜索这些目录以查找模板源文件
    一般我们都会把模板文件放到一个叫templates的文件夹,所以一般DIRS的路径设置为:
    'DIRS': [os.path.join(BASE_DIR, 'templates')]
    当 APP_DIRS 为 True 时, DjangoTemplates 引擎会在已安装应用的 templates 子目录中查找模板文件。
    OPTIONS 中包含了具体的backend设置:比如context_processors
    其作用是返回一些dict并合并到模板内容中去,比如django.template.context_processors.csrf
    它就会返回CSRF token返回一个key值是csrf_token的dict.
    Django模板是一个简单的文本文档,或用Django模板语言标记的一个Python字符串。 某些结构是被模板引擎解释和识别的。主要的有变量和标签。
    模板是由context来进行渲染的。渲染的过程是用在context中找到的值来替换模板中相应的变量,并执行相关tags。其他的一切都原样输出

    Django模板语言:
    变量:变量看起来就像是这样: {{ variable }},当模版引擎遇到一个变量,它将计算这个变量,然后用context替换掉它本身
    过滤器:过滤器会更改变量或标签参数的值
         escape:转义字符串中的HTML,例如:<转换为&lt;>转换为&gt;'(单引号)转换为&#39;
         add:把add后的参数加给value 例如:{{ value|add:"2" }}
         join: 使用字符串连接列表
    标签:标签可以用于在输出中创建文本,可以用于控制循环或者逻辑等
        {%for%} {%endfor%}
        {%if%} {%elif%} {%else%}
       {%extends%} 模板继承
       autoescape 控制自动转义是否可用.这种标签带有任何 on 或 off 作为参数的话,他将决定转义块内效果。该标签会以一个endautoescape作为结束标签
       csrf_token 这个标签用于跨站请求伪造保护
       ifequal:如果给定的两个参数相同,则显示被标签包含的内容,例如:
       {% ifequal user.pk comment.user_id %}
       ...
       {% endifequal %}

  • 相关阅读:
    databinding在android studio2.3版本后不再默认支持使用
    html的css选择器
    补间动画Tweened Animations
    ButterKnife使用
    JDK环境变量配置
    Android学习总结——DrawerLayout 侧滑栏点击事件穿透
    Android学习总结——输入法将BottomNavigationBar(底部导航栏)顶上去的问题
    Android学习总结——INSTALL_FAILED_CONFLICTING_PROVIDER
    Android学习总结——去除标题栏
    Android学习总结——强制下线功能(广播)
  • 原文地址:https://www.cnblogs.com/BGPYC/p/8040639.html
Copyright © 2011-2022 走看看