{{form}}标记如何在Django注册应用程序中工作

时间:2011-06-29 23:53:19

标签: python django registration

我下载并安装了django-registration app。我还下载了一个包含这段奇怪代码的模板

  

{{form}}

神奇地创建了4个标签和4个文本框供用户输入他的注册信息。它是如何工作的?

{% extends "registration/registration_base.html" %}
{% block title %}Register for an account{% endblock %}
{% block content %}

<table>
    <form method='post' action=''>{% csrf_token %}
        {{ form }}
        <tr><td></td><td><input type="submit" value="Send activation email" /></td>
    </form>
</table>
{% endblock %}

2 个答案:

答案 0 :(得分:1)

它是django形式的一部分。有关详细信息,请参阅文档。

https://docs.djangoproject.com/en/1.3/topics/forms/

如果您真的有兴趣,请查看源代码。

https://code.djangoproject.com/browser/django/trunk/django/forms

答案 1 :(得分:0)

django表单(但是其他对象也有)unicode方法,当请求对象的字符串表示时,该方法被调用。正如您在代码中看到的那样,它只是将调用传递给as_table - 后者又使用通用辅助函数:_html_output。这基本上遍历所有字段并构造HTML,然后返回并显示在页面上。