模板渲染

模板渲染

一 . 语法

关于模板渲染只需要记住两种语法就可以:

  1. {{ }} # 里面写变量
  2. {% %} # 里面写与逻辑相关的,比如for循环
二 . 渲染

方式一

在views.py文件下导入 from django.template import Template, Context

def model(request):
    # *********************************************
    t = Template("<h1>My name is {{name}}<h1>")   # 一小段html代码,加载到Template里,返回Template对象
    context = {      # 上下文字符串,准备渲染到模板里的变量
            'name': 'hahaha'
        }
    c = Context(context)    # 初始化一个对象
    html = t.render(c)    # 渲染模板
    print(html)
    # ********************
    return render(request, 'model.html')

在model.html下写代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>我是模板</h1>
</body>
</html>

在这里插入图片描述

方式二

传入字典参数

def model(request):
    # *********************************************
    # t = Template("<h1>My name is {{name}}<h1>")   # 一小段html代码,加载到Template里,返回Template对象
    # context = {      # 上下文字符串,准备渲染到模板里的变量
    #         'name': 'hahaha'
    #     }
    # c = Context(context)    # 初始化一个对象
    # html = t.render(c)    # 渲染模板
    # print(html)
    # ********************

    context = {
        'name': '小李',
        'age': 18,
        'sex': '女'
    }
    return render(request, 'model.html', context)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>我是模板</h1>
{{ name }}
{{ age }}
{{ sex }}
</body>
</html>

在这里插入图片描述

方式三

调用列表,元组,字典,类的属性及方法
在这里插入图片描述

方式四
if判断以及for循环

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>我是模板</h1>
{{ name }}
{{ age }}
{{ sex }}
<hr>
<!--调用列表-->
{{ learn.0 }}
{{ learn.1 }}
<!--for循环-->
<hr>
<ul>
    {% for foo in learn %}
        <li>{{ foo }}</li>
    {% endfor %}
</ul>
</body>
</html>

在这里插入图片描述在这里插入图片描述

发布了60 篇原创文章 · 获赞 6 · 访问量 7733

猜你喜欢

转载自blog.csdn.net/qq_44205272/article/details/104062637