几周前我开始使用django,python和django-crispy-forms。我花了很多时间找到一种方法来重用表单布局来呈现一个完全只读的视图。
考虑到DRY原则,渲染一个酥脆的表单并用手写相同的布局只是为了显示用户输入,例如,在确认向导步骤中,或作为简单的详细视图,没有多大意义。 / p>
有没有办法做到这一点,用<input>
或<span>
元素替换所有<p>
元素?
提前致谢。
答案 0 :(得分:0)
你的意思是什么? :
class CommonFormHelper(FormHelper):
def __init__(self):
super(CommonFormHelper, self).__init__()
self.disable_csrf = True
self.form_tag = False
class CommonModelFormWithHelper(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(CommonModelFormWithHelper, self).__init__(*args, **kwargs)
self.base_fields['some_field'].widget = forms.CheckboxInput(attrs={'disabled': True})
self.helper = CommonFormHelper()
self.helper.form_show_labels = False
self.helper.layout = Layout(
Field('some_field')
)
class HumanSignForm(CommonModelFormWithHelper):
class Meta:
model = HumanSign
class HumanDescriptionForm(CommonModelFormWithHelper):
class Meta:
model = HumanDescription