Django脆皮形式 - 设置隐藏字段值

我有以下 django 脆皮形式:


class ConsultForm(forms.ModelForm):

    class Meta:


        model = Consults # Your User model

        fields = [ 'TEMPLATE','EMAIL', 'DATE']

        labels = {


        'EMAIL' : 'Your Email',

        'DATE' : 'Todays date',


        # 'captcha': "Enter captcha"


        }

    helper = FormHelper()


    helper.form_method = 'POST'

    helper.form_action = "/contact/"

    helper.form_id = 'form' # SET THIS OR BOOTSTRAP JS AND VAL.JS WILL NOT WORK



    helper.add_input(Submit('Submit', 'Submit', css_class='btn-primary'))



    helper.layout = Layout(

        Field('TEMPLATE', type="hidden"),

        Field('DATE', type="hidden"))

我想传递一个带有隐藏字段 TEMPLATE 的值。我已阅读https://django-crispy-forms.readthedocs.io/en/latest/api_helpers.html,但不知道如何执行此操作。我怎样才能做到这一点?


开心每一天1111
浏览 215回答 1
1回答

四季花海

您可以像这样设置表单字段初始值:class ConsultForm(forms.ModelForm):    def __init__(self, *args, **kwargs):        super().__init__(*args, **kwargs)        self.initial['TEMPLATE'] = 'my_initial_value'您还可以在代码的其他位置更改字段的值,例如:form = ConsultForm(instance=instance)form.initial['TEMPLATE'] = 'new_value'使用 formhelper(使用像 Field 这样的通用布局对象),您可以像之前一样设置属性,例如:Field('TEMPLATE', id="template", value="something" template="my-template.html")如果这就是你所要求的。或者,如果上面的方法并不容易,那么在脆皮中就有一个名为Hidden的布局对象。您可以使用以下方法创建隐藏的输入字段:Hidden('name', 'value')你用它作为 Hidden('TEMPLATE', 'mysomethingvalue')喜欢:Button('name', 'value')要完全清楚:helper.layout = Layout(        Hidden('TEMPLATE', 'myvalue'),        Hidden('DATE', 'anydate'))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python