Django模板语言小记

1.blog.views.py 
# Create your views here.
from django.template import loader,Context
from django.http import HttpResponse
from blog.models import BlogPost

def archive(request):
    posts = BlogPost.objects.all()
    t = loader.get_template(‘archive.html‘)
    c = Context({‘posts‘: posts})
    return HttpResponse(t.render(c))

2.archive.html
{% extends "base.html" %}  
{% block content %}  
{% for post in posts %}  
<h1>{{ post.title|truncatewords:"30"}}</h1>  
<p>{{ post.content }}</p>
<p>{{ post.timestamp|date:"1, F jS"}}</p>
{% endfor %}  
{% endblock %}

3.base.html
<html>  
  <style type="text/css">  
    body { color: #edf; background: #453; padding: 0 5em; margin:0 }  
    h1 { padding: 2em lem; background:#675 }  
    h2 { color: #bf8; border-top: 1px dotted #fff; margin-top: 2em }  
    p { margin: lem 0 }  
  </style>  
  <body>  
    <h1><center>Blog</center></h1>  
    {% block content %}  
    {% endblock %}  
  </body>  
</html>

一。标签
用{%  %}表示,用于处理一些逻辑 
常用的几个标签
{% if %}和{% endif %}
{% for %}和{% endfor %}
{% for %}标签允许你按顺序遍历一个序列中的各个元素 
Python的for语句语法为for X in Y,X是用来遍历Y的变量 
每次循环模板系统都会渲染{% for %}和{% endfor %}之间的所有内容 
二。注释 
和HTML或编程语言如Python一样,Django模板语言允许注释{# #},如:
代码
{# This is a blog #}
三。过滤器
{{ post.title|truncatewords:"30"}}
这将显示bio标量的前30个字,过滤器参数一直使用双引号 
使用(|)管道来申请一个过滤器 
四。引用变量
变量的形式:{{ variable }}
如上例中的{{ post.content }}
{{ post.content }} 会被 post 对象的 content 属性替换
使用句点 “.” 可以访问变量的属性.

母板:{% block title %}{% endblock %}

如上面base.html的

    {% block content %}  
    {% endblock %}

子板:{% extends "base.html" %}

   {% block conttent %}{% endblock %}

时间: 2024-08-27 05:51:11

Django模板语言小记的相关文章

django 模板语言

Django的模板语言的目的是取得力量和易用性之间的平衡,与其他的模板语言相比,django模板语言显得更简单,更专一, django模板系统由模板,变量,过滤器,标签,注释等主要部分组成 模板 一个模板是一个简单的文本文件,它可以生成任何基于文本的格式,html,csv,xml等等 模板里面包含变量,过滤器,标签和注释,下面是一个简单的模板文件 {% extends "base_generic.html" %} {% block title %}{{ section.title }}

Django模板语言

常用语法 {{  }}和{% %} 变量相关的用{{}} , 逻辑相关的用{% %} 变量 在Django的模板语言中按此语法使用:{{ 变量名 }}. 当模版引擎遇到一个变量,它将计算这个变量,然后用结果替换掉它本身. 变量 的命名包括任何字母数字以及下划线 ("_")的组合(不提倡数字开头). 变量名称中 不能有空格或标点符号. 点(.)在模板语言中有特殊的含义.当模版系统遇到点("."),它将以这样的顺序 查询: 字典查询(Dictionary lookup)

Django模板语言相关内容

Django模板系统 官方文档:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#std:templatetag-for 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} 变量名由字母数字和下划线组成. 点(.)在模板语言中有特殊的含义,用来获取对象的相应属性值. 几个例子: view中代码: def template_test(requ

Django(模板语言-自定义filter和simple_tag)

filter过滤器的主要形式:变量|函数,意思是将变量交给函数处理,而自定义filter就是自己定义函数,因为用到已有的很少. 1.在当前app中创建templatetags模块(包:带__init__.py)(必须的) 2.在templatetags中创建.py文件,如my_tags.py from django import template #因为要应用到前端模板语言,必须导入template from django.utils.safestring import mark_safe re

Django模板语言-Filters(过滤器)

Filters(过滤器) 在Django的模板语言中,通过使用 过滤器 来改变变量的显示. 过滤器的语法: {{ value|filter_name:参数 }} 使用管道符"|"来应用过滤器. 例如:{{ name|lower }}会将name变量应用lower过滤器之后再显示它的值.lower在这里的作用是将文本全都变成小写. 注意事项: 过滤器支持“链式”操作.即一个过滤器的输出作为另一个过滤器的输入. 过滤器可以接受参数,例如:{{ sss|truncatewords:30 }}

Django模板语言-Tags

Tags Tags # 普通for循环 <ul> {% for user in user_list %} <li>{{ user.name }}</li> {% endfor %} </ul> for循环可用的一些参数: Variable Description forloop.counter 当前循环的索引值(从1开始) forloop.counter0 当前循环的索引值(从0开始) forloop.revcounter 当前循环的倒序索引值(从1开始)

Django 模板语言从后端传到前端

如果我们在后端有数据动态提取到前端的时候 就需要模板语言加以渲染后再将渲染好的HTML文件传入前端 我们的views.py里的index函数里有个s变量是个列表,将数据以大括号的形式传入{"list":s} 把s传入list. html的要加入的地方是用2个大括号引入的   <h1>{{ list.1 }}</h1> 用的是句点符获取列表第二个参数 和python的语法取得列表不同(list[1]) -------------------------------

Django模板语言(DTL)基础

## 模板变量 - 普通变量 {{ name }} - 对象变量(使用点号访问对象属性和方法,方法不加括号) {{ person.name }} ## 常用模板标签 # if标签,支持and,or,not和嵌套,不支持括号 {% if %}{% endif %} {% if %}{% elif %}...{% else %}{% endif %} # for标签,用法与Python中基本相同 {% for item in items %}{% endfor %} {% for item in i

4.Django模板语言和分页

继承 extends 子版只能继承一个父模板 1.父模板 master.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{% block title %} {% endblock %}</title> <link rel="stylesheet" href="