Django:将Kwargs作为表格值传递给通用CBV表格

时间:2015-09-01 23:34:08

标签: python django forms

我有一个表单,其中第一个字段的值可以由URL确定。即:example.com/value/form其中value是对表单上第一个字段的适当响应。

如何将此值传递给页面上的表单?

class VarietyCreate(CreateView):
    template_name = "generic_create.html"
    model = Variety
    form_class = VarietyForm
    pk_url_kwarg = "pk"
    initial = {"product_group" : pk_url_kwarg}

    def get_success_url(self):
        return reverse("purchases:Variety Index", kwargs={'pk': self.kwargs.get('pk')})

我所拥有的似乎不起作用。

来自我的网址:

url(r'^commodities/view/(?P<pk>[^\/]+)/create/$', views.VarietyCreate.as_view(), name='Variety Create'),

1 个答案:

答案 0 :(得分:1)

根据this post找到答案。

class VarietyCreate(CreateView):
    template_name = "generic_create.html"
    model = Variety
    form_class = VarietyForm

    def get_initial(self):
        return {"product_group" : self.kwargs.get('pk')}

    def get_success_url(self):
        return reverse("purchases:Variety Index", kwargs={'pk': self.kwargs.get('pk')})