我在我的项目CRUD中使用django通用视图。 CreateView类使用以下URL来工作:
urls.py
url(r'^create', BookCreate.as_view(model=Books, template_name='Myproj/book_create.html'), name='book_create'),
如果我去www.mywebsite.com/create,表格就会出现我想要的样子。
我的问题是我希望将表单合并到另一个页面上,该页面已经有一个url,一个视图和一个模板。网址就像下面的那个:
urls.py
url(r'^author/(?P<id>[0-9]{1,})/$', author_view_handler, name='author_view'),
我该如何解决这个问题?
答案 0 :(得分:0)
CreateView
使用ModelForm
。如果您还想使用它,您需要自己创建一个Book模型表单,如下所示:
from django.forms import ModelForm class BookModelForm(ModelForm): pass
然后将其form=BookModelForm()
实例化,并将其传递到author_view_handler
视图的上下文。
但是我不确定你为什么要这样做......
更新:要将其传递给您的视图,请使用
from django.shortcuts import render def author_view_handler(request): form = BookModelForm() return render(request, 'author_view_handler.html', {"form": form},
上面只是将表单传递给author_view_handler视图,不包含任何表单处理代码。