我有问题,看不到两个代码之间的区别。首先是行不通的,第二是行之有效的。我得到这个消息:“第8行的块标记无效:'crsf_token',预期为'endblock'。您忘记注册或加载此标记了吗?”感谢您的回答。
第一:
{% extends 'basic_app/base.html' %}
{% block body_block %}
<div class="container">
<div class="jumbotron">
<h1>Please Login</h1>
<form method="post" action="{% url 'basic_app:user_login' %}">
{% crsf_token %}
<label for="username">Username:</label>
<input type="text" name="username" placeholder="Enter Username">
<label for="password">Password:</label>
<input type="password" name="password">
<input type="submit" name="" value="Login">
</form>
</div>
</div>
{% endblock %}
第二:
{% extends 'basic_app/base.html' %}
{% block body_block %}
<div class="container">
<div class="jumbotron">
<h1>Please Login</h1>
<form method="post" action="{% url 'basic_app:user_login' %}">
{% csrf_token %}
{# A more "HTML" way of creating the login form#}
<label for="username">Username:</label>
<input type="text" name="username" placeholder="Username">
<label for="password"></label>
<input type="password" name="password">
<input type="submit" name="" value="Login">
</form>
</div>
</div>
{% endblock %}
答案 0 :(得分:3)
在第一个示例中,您拼错了标签名称。
它是csrf_token,而不是crsf_token。