Nun*_*sky 6 python generics django modelform
我一直在努力寻找这个,我无法在任何地方找到它.所以,在这里:
我正在尝试构建一个泛型类,它将通用模型作为参数并为其创建表单.为此,我使用Django的ModelForm和CreateView类.这个的主要目标是,当我需要创建一个新表单时,我只是声明一个传递Model名称的新URL.
url(r'^create', GenericCreate(model=Author).as_view(), name='create'),
Run Code Online (Sandbox Code Playgroud)
class GenericCreate(CreateView):
def __init__(self, model, *args, **kwargs):
super(GenericCreate, self).__init__(*args, **kwargs)
self.form_class = to_modelform(self.model)
Run Code Online (Sandbox Code Playgroud)
to_modelform是我实现的一个函数,它将模型转换为模型形式,并且它可以工作.
这给了我以下错误:
/ create中的AttributeError此方法仅在视图类上可用.
先感谢您!
您不应该创建视图类的实例,as_view将为您执行此操作.
你通常会打电话ViewClass.as_view(),而不是ViewClass().as_view().
此外,CreateView已将其model作为参数,因此您应将您的网址定义为:
url(r'^create', CreateView.as_view(model=Author), name='create'),
要正确了解它的工作原理,请查看as_viewCreateView上的方法.(完全披露 - 我建了ccbv.co.uk.)
| 归档时间: |
|
| 查看次数: |
818 次 |
| 最近记录: |