pyn*_*ice 1 django django-generic-views
我有一个Django generic create view
class TestCreateView(CreateView):
form_class = TestCreateForm
##forms.py
class TestCreateForm(forms.ModelForm):
class Meta:
model = Test
def __init__(self, user, *args, **kwargs):
super(TestCreateForm).__init__(*args, **kwargs)
self.fields['test_field'] = Testing.objects.filter(user=user)
Run Code Online (Sandbox Code Playgroud)
在基于函数的视图中,我会这样:
form = TestCreateForm(request.user)
Run Code Online (Sandbox Code Playgroud)
现在,在基于通用类的视图上,我是否必须重写,get并且post为此仅使用方法?
class TestCreateView(CreateView):
form_class = TestCreateForm
def get_form_kwargs(self, **kwargs):
form_kwargs = super(TestCreateView, self).get_form_kwargs(**kwargs)
form_kwargs["user"] = self.request.user
return form_kwargs
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1823 次 |
| 最近记录: |