首先通过django内置的模板需要达到的效果:数据加模板就形成了html页面。

如图:

django模板语法学习(模板变量,for循环,if语句)

总所周知,django的mvt模式,是属于前后端不分离的模式。所有得先在templates目录下新建一个personinfo.html文件

如图:

django模板语法学习(模板变量,for循环,if语句)

模板内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!--解决图片引用跨域问题-->
<meta name="referrer" content="no-referrer">
<title>博客信息</title>
</head>
<body>
<h1>{{ blog_name }}</h1>
<p>姓名:{{ username }}</p>
<p>年龄:{{ age }}</p>

<!--<p>感兴趣的技术:{{ fancy.0 }},{{ fancy.1 }},{{ fancy.2 }}</p>-->
<!--模板for循环语法-->

<p>感兴趣的技术
{% for i in fancy %}
{{ i }}|
{% endfor %}
</p>

<h1>通过字典对象取值</h1>
<a>博客地址:{{ blog.url }}</a>
<p>头像</p>
<img src="{{ blog.img }}">
<h1>获取类的属性,方法值</h1>
<p>关注数:{{ myblog.guangzhu }}</p>
<p>粉丝数:{{ myblog.fensi }}</p>
</body>
</html>

版本变量要从视图函数里面取值,通过以下方式:

list类型:通过下标取值

字典对象:通过.key取值

django模板语法学习(模板变量,for循环,if语句)

如果是取值的是对象,就通过类名.方法名取值:

django模板语法学习(模板变量,for循环,if语句)

django模板语法学习(模板变量,for循环,if语句)

接下来就是在应用的,views.py文件里面编写视图函数。

如图:

django模板语法学习(模板变量,for循环,if语句)

视图函数内容如下:

# todo 个人信息
def personinfo(request):

    context = {
        "blog_name":"圆觉",
        "username":"",
        "age":23,
        "fancy":["python","django","requests"],
        "blog":{"url":"https://www.cnblogs.com/xiamaojjie/",
                "img":"https://pic.cnblogs.com/avatar/1772245/20191102152106.png",
                }

    }

    class Myblog():

        def __init__(self):

            self.guangzhu = 3
            self.fensi = 7

        def guangzhu(self):

            return self.guangzhu

        def fensi(self):

            return self.fensi

    myblog = Myblog()

    context["myblog"] = myblog


    return render(request,"personinfo.html",context)

 render()需要传递3个参数,第一个是request,第二个是模板名称,第3个是context,传输的内容。

django模板语法学习(模板变量,for循环,if语句)

for循环展示列表 内容:

django模板语法学习(模板变量,for循环,if语句)

django模板语法学习(模板变量,for循环,if语句)

添加url映射:应用和项目直接建立关联

django模板语法学习(模板变量,for循环,if语句)

 if 语句判断:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>导航栏</title>
</head>
<body>
{% for i in name_list %}

<h1>{{ i.type }}</h1>

    <p>

    {% for j in i.value %}
        {{ j }} {% if not forloop.last %} | {% endif %}   <!--如果是最后一个就不显示管道|-->
    {% endfor %}

    </p>

{% endfor %}

</body>
</html>

forloop模板变量:

django模板语法学习(模板变量,for循环,if语句)

django模板语法学习(模板变量,for循环,if语句)