当前位置: 首页 > 面试题库 >

Django表单:将参数传递给表单

常睿范
2023-03-14
问题内容

如何将参数传递给表单?

someView()..
    form = StylesForm(data_dict) # I also want to pass in site_id here.

class StylesForm(forms.Form):
    # I want access to site_id here

根据以下答案进行编辑:

someView()..
    form = StylesForm(data_dict, site_id = 1)

class StylesForm(forms.Form):
     def __init__(self,*args,**kwargs):
        self.site_id = kwargs.pop('site_id')
        super(StylesForm,self).__init__(*args,**kwargs)

     height = forms.CharField(widget=forms.TextInput(attrs={'size':site_id}))

问题答案:

你应该定义表单的__init__方法,如下所示:

class StylesForm(forms.Form):
    def __init__(self,*args,**kwargs):
        self.site_id = kwargs.pop('site_id')
        super(StylesForm,self).__init__(*args,**kwargs)
当然,在创建对象之前,你无法访问self.site_id,因此该行:

     height = forms.CharField(widget=forms.TextInput(attrs={'size':site_id}))

没有意义。创建表单后,必须将属性添加到窗口小部件。尝试这样的事情:

class StylesForm(forms.Form):
    def __init__(self,*args,**kwargs):
        self.site_id = kwargs.pop('site_id')
        super(StylesForm,self).__init__(*args,**kwargs)
        self.fields['height'].widget = forms.TextInput(attrs={'size':site_id})

    height = forms.CharField()


 类似资料:
  • 问题内容: 这在Django 1.9中用form_kwargs修复。 我有一个看起来像这样的Django表单: 我称这种形式的东西是这样的: 登录用户在哪里。这按预期工作。 我的问题是,我现在想将此单一表单转换为表单集。我不知道的是在创建表单集时如何将会员信息传递给各个表单。根据文档来制作一个表单集,我需要做这样的事情: 然后我需要这样创建它: 现在如何以这种方式将affiliate = requ

  • 因此,在我的Javascript中,我使用的是表单序列化,输出是正确的 (issubmit=1) 当我试图将其传递给我的控制器时,我什么也得不到,。我做错了什么? Jquery: 控制器:

  • 问题内容: 我正在创建一种通过传递搜索字段从任何表中选择ID的方法。 但是我得到一个有关语法错误的MySqlException。当我查看“异常”消息时,它向我显示带引号的查询表!如何将表格作为不带引号的参数传递? 问题答案: 大多数数据库不允许您通过参数指定表名或列名。参数用于 值 。如果确实确实需要使它动态化,则应验证输入(它应该是一个已知的表名,并且该表中具有已知的列名),然后将其包括在SQL

  • 问题内容: 我想在我的课程中传递默认参数,但是不知何故我遇到了问题: 如果现在尝试实例化,则会出现以下错误: 我究竟做错了什么? 问题答案: 从该文档: 要使用的参数是: default_factory: 如果提供, 则必须为零参数可调用对象 ,当此字段需要默认值时将被调用。除其他用途外,这可用于指定具有可变默认值的字段,如下所述。同时指定default和default_factory是错误的。

  • 问题内容: 我在我们的存储过程中使用了一个表值参数。这是我使用的语法: (是用户定义的表类型)。 但是,作为要求,我需要将默认值传递给此表值参数。 但是上面的代码会引发语法错误。是否可以将默认值传递给表值参数?有人可以帮我吗? 问题答案: 您可以默认通过TVP: 这相当于一个空表。

  • 问题内容: 我正在使用Go内置的http服务器,并拍拍来响应一些URL: 我需要向该处理函数传递一个额外的参数-一个接口。 如何向处理程序函数发送额外的参数? 问题答案: 通过使用闭包,您应该能够做您想做的事情。 更改为以下内容(未测试): 然后对