我为我的模型使用了 Django 的通用 createview
from myproject.app.forms import PersonForm
class PersonMixin(object):
model = Person
form_class = PersontForm
class PersonCreateView(PersonMixin, CreateView):
pass
这非常适合使用我的自定义表单显示 Person 的创建 View 。但是,我在表单中有一个字段,我想用一个值预填充它。我找到了这个答案:Set initial value to modelform in class based generic views
但是,我预先填充的值来自 request.user 的配置文件。如何访问 PersonCreateView 中的请求并将其传递给表单?
最佳答案
在任何类方法中,您都可以使用 self.request 访问请求。所以你的用户资料可以通过 self.request.user 访问。
基于您提供的链接,您将能够在 get_initial 方法中使用 self.request.user 来设置值。
IE。
def get_initial(self):
return { 'value1': self.request.user }
关于django - 如何使用请求数据在基于 Django 类的通用 createview 上设置初始数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13180116/