【问题标题】:Django form fields not in crispy form helper are not showing up不在脆表单助手中的 Django 表单字段未显示
【发布时间】:2014-04-15 04:22:05
【问题描述】:

我有这种形式的信用卡网关:

class CreditCardForm(forms.Form):
    SessionId = forms.CharField(widget=forms.HiddenInput())
    CardHolderName = forms.CharField(label=ugettext('Cardholder Name'), max_length=64, required=True)
    CardNumber = forms.CharField(label=ugettext("Card Number"), min_length=12, max_length=20, required=True)
    ExpiryMonth = forms.CharField(label="", min_length=2, max_length=2, required=True)
    ExpiryYear = forms.CharField(label="", min_length=2, max_length=2, required=True)
    Cvc2 = forms.CharField(label=ugettext("CVC"), min_length=3, max_length=4, required=True)
    UserTxnData1 = forms.CharField(label=ugettext("Card Alias"), max_length=64, required=False)
    helper = Helper()

还有我想为不同的信用卡网关重用的这个 Helper:

class Helper(FormHelper):
    layout = Layout(Fieldset('Card Details',
          RowFluid(Column(Field('CardHolderName',css_class="large-8 small-12")),
          RowFluid(Column(Field('CardNumber',css_class="large-8 small-12")),
          RowFluid(Column(Field('ExpiryMonth',css_class="large-8 small-12")),
          RowFluid(Column(Field('ExpiryYear',css_class="large-8 small-12")),
          RowFluid(Column(Field('Cvc2',css_class="large-8 small-12")),
          RowFluid(Column(Field('UserTxnData1',css_class="large-8 small-12")),
     ))

问题是,SessionId 特定于这个网关表单,它没有在帮助程序中定义,也没有显示在呈现的表单中。

【问题讨论】:

    标签: django django-crispy-forms


    【解决方案1】:

    我认为脆的表单只会显示你在布局助手中定义的东西,如果你使用的话。要隐藏该字段,请尝试将其添加为字段并将类似的内容添加到您的表单中:

    class Meta:
        model = YourModel
        fields = (
            'session_id',
            ..., # all the fields you want to include
        )
        widgets = {
            'session_id': forms.HiddenInput(),
        }
    

    【讨论】:

      猜你喜欢
      • 2020-09-17
      • 1970-01-01
      • 1970-01-01
      • 2013-12-06
      • 2017-07-29
      • 2020-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多