CreateView - 验证表单和默认字段

时间:2013-06-04 20:44:39

标签: django create-view

我正在尝试使用CreateView和自动生成的表单创建新元素。

class OrderSelected(CreateView):
    model = Wynajem
    template_name = "order_room.html"
    success_url = '/my_orders/'

如何将默认值添加到几个Wynajem的字段,并检查通过post方法发送的其他字段是否正常?


还有另一个问题。 默认值是url:

中的参数
url(r'^order/(?P<room>\d+)/$', login_required(OrderSelected.as_view()), name='order')

我想设置一个具有房间价值的字段。

1 个答案:

答案 0 :(得分:3)

默认值:

提供get_initial方法,该方法将字典映射字段返回到其默认值。

class MyView(CreateView):
    # ...
    def get_initial(self):
        return { 'some_field': 'some_default_value' }

检查帖子中的字段:

这就是表单框架的用途(处理验证) - 修改表单或对其进行子类化,并在将其提供给您的类之前进行必要的修改。

class MyForm(FormToSubclass):
   def clean_fieldname(self):
        fieldname_value = self.cleaned_data.get('fieldname')
        # check if field is valid.