django form – 将request.user传递给widget呈现函数
发布时间:2020-12-20 12:17:56 所属栏目:Python 来源:网络整理
导读:我如何将request.user对象传递给我创建的自定义窗口小部件的渲染函数,或者从渲染函数中访问当前用户的最佳方法是什么 解决方法 解决方案我认为还不是一个黑客(但接近),并没有那么大的麻烦. 覆盖表单上的init: def __init__(self,*args,**kwargs): user = kw
我如何将request.user对象传递给我创建的自定义窗口小部件的渲染函数,或者从渲染函数中访问当前用户的最佳方法是什么
解决方法
解决方案我认为还不是一个黑客(但接近),并没有那么大的麻烦.
>覆盖表单上的init: def __init__(self,*args,**kwargs): user = kwargs.pop('user',None) super(SomeForm,self).__init__(*args,**kwargs) self.fields['your_field'].widget.user = user >覆盖您的小部件: def __init__(self,**kwargs): self.user = None super(YourWidget,**kwargs) >在小部件上与您的用户一起获利. 显然,您需要向表单提供用户,并且在某些边缘情况下这可能是一个问题,例如您正在使用django动态视图而您不愿意将它们更改为更静态的方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |