我该如何在Django中使用通用视图?
我正在尝试使用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 个回答
1
你需要创建一个模板文件,格式是 <app_label>/<model_name>_form.html
。把这个模板放到你设置文件中 TEMPLATE_DIRS 定义的模板目录里。
在这个模板文件里,你需要使用标准 ModelForm 定义的上下文。
{{ form.name.label_tag }} {{ form.name }}