2010-11-16 38 views
0

我试图使用Django的通用视图,使用户注册页面。我在下面的代码我的应用程序的urls.py如何在Django中使用通用视图?

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 

我试图做一个模板来匹配它,但我不断收到该消息。有什么建议?

另外,我认为这将使模板我。我在做模板文件时实际上放了什么?

编辑:从铁轨我是混合模板和意见到来。我仍然陷入困境,但我认为我需要在我看来做一个功能。就像:

def user_form: 
    #stuff 

回答

1

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

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

{{ form.name.label_tag }} {{ form.name }} 
+0

我正在努力做到这一点。任何错误说auth/user_form.html的原因? – 2010-11-16 18:35:03

+0

好的,我的templaes目录错了。我解决了这个问题,并认为模板应该在auth/user_form.html(duh)。所以现在我需要弄清楚如何使用form.name的东西.. – 2010-11-16 18:44:31

1

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

看到docs这一点。

ANS也看看这个similar discussion

+0

是的,你说得对。我不需要功能视图。 – 2010-11-16 18:32:24

相关问题