在模板中使用Django视图变量

Ano*_*non 14 python django templates views

这是一个相当基本的问题(我是Django的新手)但是我在模板中的视图中使用变量集时遇到了麻烦.如果我在我的视图中初始化一个字符串或列表(即h ="hello"),然后尝试在模板中调用它:
{{ h }}
既没有输出也没有错误.同样,如果我尝试在我的模板中使用不存在的变量:

{{ asdfdsadf }}
Run Code Online (Sandbox Code Playgroud)

再次没有报告错误.这是正常的吗?如何在模板中使用我的变量.谢谢!

Jos*_*ght 24

为了能够访问模板中的变量,它需要位于用于呈现该模板的上下文中.我猜你在渲染时没有将上下文字典传递给模板.

http://docs.djangoproject.com/en/dev/topics/http/shortcuts/#render-to-response

引用的"字典"是一个字典,其中包含您希望在上下文中可用的所有变量.例如:

return render_to_response('your_template.html', {'h': h})
Run Code Online (Sandbox Code Playgroud)

就"无错误"错误而言......这是无效模板变量的默认设置.如果您愿意,可以在项目设置中更改它.

http://docs.djangoproject.com/en/dev/ref/settings/#template-string-if-invalid


小智 7

你也可以使用

return render(request, 'your_template.html', {'h':h, 'var1':var1})
Run Code Online (Sandbox Code Playgroud)

请参阅https://docs.djangoproject.com/es/1.9/topics/http/shortcuts/上的最新手册