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 %}

还可以像下面这么使用: {% load static %} {% static "images/hi.jpg" as myphoto %}

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 %}

相关推荐

  1. Django模板

    2023-12-10 09:04:02       53 阅读
  2. Django——模板

    2023-12-10 09:04:02       41 阅读
  3. Django模型

    2023-12-10 09:04:02       51 阅读
  4. Django模型

    2023-12-10 09:04:02       42 阅读
  5. Django模板语言

    2023-12-10 09:04:02       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-10 09:04:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-10 09:04:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-10 09:04:02       82 阅读
  4. Python语言-面向对象

    2023-12-10 09:04:02       91 阅读

热门阅读

  1. Django模型

    2023-12-10 09:04:02       51 阅读
  2. properties配置和读取

    2023-12-10 09:04:02       42 阅读
  3. React和Preact 这样处理className更优雅

    2023-12-10 09:04:02       62 阅读
  4. wordpress小记

    2023-12-10 09:04:02       53 阅读
  5. spring 单元测试 Junit

    2023-12-10 09:04:02       54 阅读
  6. Spring Boot与Redis的整合

    2023-12-10 09:04:02       46 阅读
  7. d8week17

    d8week17

    2023-12-10 09:04:02      66 阅读
  8. centos7部署docker环境

    2023-12-10 09:04:02       55 阅读
  9. CentOS 7.9--离线安装python3.9.18+virtualenv-20.25.0

    2023-12-10 09:04:02       52 阅读
  10. mysql error: #1093

    2023-12-10 09:04:02       58 阅读
  11. mybatis-config.xml的配置

    2023-12-10 09:04:02       46 阅读
  12. css顺时针旋转90°再3D中绕Y轴旋转180°

    2023-12-10 09:04:02       67 阅读
  13. ElasticSearch之cat nodes API

    2023-12-10 09:04:02       57 阅读