代码之家  ›  专栏  ›  技术社区  ›  irl_irl

如何在Django中使用泛型视图?

  •  0
  • irl_irl  · 技术社区  · 14 年前

    我试图使用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 } ),
    )
    

    现在,当我转到那个url时,我会得到以下信息:

    TemplateDoesNotExist at /new/
    auth/user_form.html
    

    我试着做一个模板来匹配它,但我一直收到这个消息。有什么建议吗?

    另外,我想这会成为我的模板。当我制作模板文件时,我实际要在其中放些什么?

    编辑:来自Rails的我正在混合模板和视图。我仍然陷在困境中,但我认为我需要在我看来发挥作用。类似于:

    def user_form:
        #stuff
    
    2 回复  |  直到 14 年前
        1
  •  1
  •   Andrew Sledge    14 年前

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

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

    {{ form.name.label_tag }} {{ form.name }}
    
        2
  •  1
  •   Wladimir Palant    13 年前

    我认为不需要创建视图函数。您需要在模板目录中提供一个模板(在本例中,auth/user_form.html也是可配置的)。模板需要包含创建新用户对象所需的字段。

    docs 为了这个。

    也可以看看这个 similar discussion