所以我是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时会发生什么?
答案 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代码。