Django模板
以下是一个简单的Django模板示例:
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>{{ heading }}</h1>
<p>{{ content }}</p>
</body>
</html>
一、模板的基本语法
1、变量{{和}}
字典的查询、属性、列表索引查找都是通过远点符号.来实现的;
变量名中不能有空格或者标点符号。
2、标签{%和%}
eg:{% csrf_token %} # csrf令牌标签
大部分标签都接受参数:{% cycle ‘odd’ ‘even’ %} # 循环使用’odd’和’even’
部分标签需要使用起始和闭合标签,典型代表为for循环标签和if判断标签:
{% if user.is_authenticated %}Hello, {{ user.username }}.{% endif %},或者里面填endfor
block继承标签,extends复写模板标签,都需要end结尾
{% block content %} 只是给标签起名字,增加可读性;不能在一个模板下定义多个名字相同的block标签
static标签用于链接保存在STATIC_ROOT中的静态文件。例如:
{% load static %}
<img src=“{% static “images/hi.jpg” %}” alt=“Hi!” />
还可以使用变量:
{% load static %}
3、过滤器
{{ my_date|date:“Y-m-d” }} # 按指定的格式"Y-m-d",显示日期
{{ value|filesizeformat }}
4、注释
{# this won’t be rendered #} # 单行注释
{% comment %}{% endcomment %}标签提供多行注释功能。
5、模板继承
{% extends “base.html” %}
block是在子模版中可能会被覆盖掉的位置,父类模板可以比子类模板多。
6、方法调用
class Task(models.Model):
def foo(self):
return “bar”
可以用{{ task.foo }}调用
多对多的时候,可以间接的调用:
{% for course in student.course_set.all %}
{{ course.name }}
{% endfor %}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!