AI智能
改变未来

Django(29)模板变量


变量

模板中可以包含变量,

Django

在渲染模板的时候,可以传递变量对应的值过去进行替换。变量的命名规范和

Python

非常类似,只能是阿拉伯数字和英文字符以及下划线的组合,不能出现标点符号等特殊字符。变量需要通过视图函数渲染,视图函数在使用

render

或者

render_to_string

的时候可以传递一个

context

的参数,这个参数是一个字典类型。以后在模板中的变量就从这个字典中读取值的。示例代码如下:

# profile.html模板代码<p>{{ username }}</p># views.py代码def profile(request):return render(request,\'profile.html\',context={\'username\':\'jkc\'})

模板中的变量同样也支持点

(.)

的形式。在出现了点的情况,比如

person.username

,模板是按照以下方式进行解析的:

  1. 如果
    person

    是一个字典,那么就会查找这个字典的

    username

    这个

    key

    对应的值。

  2. 如果
    person

    是一个对象,那么就会查找这个对象的

    username

    属性,或者是

    username

    这个方法。

  3. 如果出现的是
    person.1

    ,会判断

    persons

    是否是一个列表或者元组或者任意的可以通过下标访问的对象,如果是的话就取这个列表的第1个值。如果不是就获取到的是一个空的字符串。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Django(29)模板变量