gpt4 book ai didi

django 表单 - 将 request.user 传递给小部件渲染函数

转载 作者:行者123 更新时间:2023-12-01 07:45:30 25 4
gpt4 key购买 nike

我如何将 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, *args, **kwargs):
    self.user = None
    super(YourWidget, self).__init__(*args, **kwargs)
  • 在小部件上与您的用户一起获利。

  • 显然你需要为用户提供一个表单,这在某些边缘情况下可能是一个问题,例如你正在使用 django 动态 View 并且你讨厌将它们更改为更静态的方法。

    关于django 表单 - 将 request.user 传递给小部件渲染函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5259025/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com