如何将参数传递给窗体?

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

推荐答案

您应该定义表单的_init__方法,如下所示:

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

当然你不能进入self .创建对象之前的站点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相关问答推荐

从Azure Web应用服务器上的cron任务的虚拟环境加载变量

如何在Django中显示文件大小

执行官/start.sh:没有这样的文件或目录

Django 中主键的隐式 UUID 自动字段

Django Inline Tabular admin:删除一个不工作的对象

Django 转储数据将附加数据添加到 json 导出

防止 django 将_id附加到外键字段

如何让两个模型相互引用 Django

如何缓存 Django Rest Framework API 调用?

如何使用 select_for_update 在 Django 中获取查询?

CherryPy 与 Django

django类型对象Http404没有属性get

Django中的自定义排序

Django - 一起为 2 个或更多字段创建唯一的数据库约束

PyCharm 代码判断提示找不到模板文件,如何解决?

如何在 django 中将多张图片上传到博客文章

如何在该元素中的所有应用程序之间共享元素范围的模板标签

Jinja2中的多级模板继承?

如何使用 ModelSerializer 显示所有模型字段?

我将如何package打包和销售 Django 应用程序?