如何在Django中使用通用视图?

时间:2010-11-16 17:47:58

标签: python django django-templates django-views

我正在尝试使用Django的通用视图来创建用户注册页面。我在我的应用urls.py

中有以下代码
from django.conf.urls.defaults import *
from models import Ticket

urlpatterns = patterns('',
    (r'^new/$', 'django.views.generic.create_update.create_object', { 'model': User } ),
)

现在当我去那个网址时,我得到以下信息:

TemplateDoesNotExist at /new/
auth/user_form.html

我已经尝试制作模板以匹配它,但我不断收到该消息。有什么建议吗?

另外,我认为这会为我制作模板。当我制作模板文件时,我实际放入了什么?

编辑:来自rails我正在混合模板和视图。我仍然被困住,但我认为我需要在我的视野中制作一个功能。类似的东西:

def user_form:
    #stuff

2 个答案:

答案 0 :(得分:1)

我认为你不需要创建一个视图功能。您需要在模板目录中提供模板(在这种情况下为auth / user_form.html,也是可配置的)。模板需要包含创建新用户对象所必需的字段。

请参阅docs

还请查看此similar discussion

答案 1 :(得分:1)

您需要使用格式<app_label>/<model_name>_form.html创建模板文件。将此模板放入模板目录中,如设置文件中的TEMPLATE_DIRS中所定义。

在模板文件本身中,您需要使用标准ModelForm定义的上下文。

{{ form.name.label_tag }} {{ form.name }}