【问题标题】:Using a model instance with django-crispy and a formset使用带有 django-crispy 和 formset 的模型实例
【发布时间】:2012-12-22 08:20:42
【问题描述】:

我有一个 modelform_formset,我正在使用 django-crispy 进行渲染。在使用的表单布局内,我有以下内容:

self.helper.layout = Layout(
    Field('remove', css_class="inline"),
    HTML('{{ form.instance.user.get_full_name|title }} ({{ form.instance.user }})'),
    Field('is_admin')
)

注意{{form.instance}} - 没有正确绑定。有没有办法获取特定模型的值?

【问题讨论】:

    标签: django django-crispy-forms


    【解决方案1】:

    我建议你这样做。这捕获了您没有实例的情况:D

    class XYXForm(forms.ModelForm):
        def __init__(self, *args, **kwargs):
            super(XYXForm, self).__init__(*args, **kwargs)
            label = "New Object"
            if self.instance:
                label = '{0} {1}'.format(
                    self.instance.user.get_full_name.capitalize(), 
                    self.instance.user)
            self.helper = FormHelper()
            self.helper.form_id = 'community_form'
            self.helper.form_method = 'post'
            self.helper.layout = Layout(
                Field('remove', css_class="inline"),
                HTML(label),
                Field('is_admin')
            )
    

    HTH

    【讨论】:

    • 助手和表单集有问题 - 我们不能在 ModelForm 之外的助手中使用标签 -
    猜你喜欢
    • 2011-08-21
    • 2010-11-19
    • 2013-05-09
    • 1970-01-01
    • 2014-03-12
    • 2017-07-25
    • 2017-09-14
    • 1970-01-01
    • 2016-12-20
    相关资源
    最近更新 更多