是否有更直观的方式来编写updateforms?

时间:2016-11-09 00:15:02

标签: django django-forms django-templates django-views

我目前正在开发一个用于时间管理和转移计划的webapp。 首先,我是webops和Django的新手。

凭借我的新知识,我正在挖掘不同的博客(例如Django Girls - 这几乎相当不错!)并通过stackoverflow。

但有一个问题困扰着我。是否有任何不同的方法来更新保存的表单数据而不使用

class Foo(generic.UpdateView):

例如,使用ModelForm allready显示我们想要更改的值?

我现在有点困惑,就像我可以将HTML代码插入ModelForm - 形式一样。如果您能给我任何提示,提示或线索,可以将HTML代码插入我的UpdateView,我会很感激。

谢谢。

修改 我正在使用Django 1.8和django-crispy-forms

这是我目前的UpdateView

class ShiftUpdate(generic.UpdateView):
   model = Shift
   fields = [ 'start','ending','break',]
   template_name = "shifts/shift_edit_form.html"

   def get_object(self, *args, **kwargs):
      obj = super(ShiftUpdate, self).get_object(*args, **kwargs)
      if obj.user.email == self.request.user.email or self.request.user.is_admin == True or self.request.user.is_manager == True:
        return obj
      raise PermissionDenied()  

ModelForm中,您可以使用FormHelper中的django-crispy-forms,它会为您提供form.helper.layout,您可以直观地插入HTML代码。

1 个答案:

答案 0 :(得分:0)

我在阅读question时找到了编辑这些表单的方法。 因此,在使用UpdateView' s django-crispy-forms时可以写FormHelper(您可以找到文档here)。