{%}}与Django中的HTMLtags相比

时间:2015-08-24 19:58:40

标签: python html django

所以我是Django和HTML的新手,但不是python。我正在寻找HTML文件中使用的语法的一点澄清。

为什么HTML有时会写为:

{% extends "base.html" %}
{% load i18n %}

{% block content %}
<form method="post" action=".">
  {% csrf_token %} 
  {{ form.as_p }}

  <input type="submit" value="{% trans 'Log in' %}" />
  <input type="hidden" name="next" value="{{ next }}" />
</form>

{% endblock %}

而不是在这些.html文件中使用纯HTML标签?

我只是被&#34; {%...%}标签弄糊涂了。有人可以详细说明使用它们与普通HTML时会发生什么?

1 个答案:

答案 0 :(得分:2)

模板系统中使用{% %}{{ }}对。

如果您要在模板中显示user.email,请在dict context中将此信息从您的视图发送到您的模板,我们通常会调用{{ user.email }},然后模板可以使用{% if user %} <h1>Hi {{ user.firstname }}</h1> {% else %} <h1>You must log in.</h1> {% endif %} 进行访问。

另一个用于程序构造,比如说:

vertical-align: middle;

正如您所看到的,它不是真正的Python,但模板中允许使用一些Pythonish代码。