我按如下方式调用表单,然后将其传递给模板:
f = UserProfileConfig(request)
我需要能够访问表单中的 request.session...所以首先我尝试了这个:
class UserProfileConfig(forms.Form):
def __init__(self,request,*args,**kwargs):
super (UserProfileConfig,self).__init__(*args,**kwargs)
self.tester = request.session['some_var']
username = forms.CharField(label='Username',max_length=100,initial=self.tester)
这没有用,我想是因为与设置用户名 charfield 相比,表单是何时构建的。
所以,接下来我尝试了这个:
class UserProfileConfig(forms.Form):
def __init__(self,request,*args,**kwargs):
super (UserProfileConfig,self).__init__(*args,**kwargs)
self.a_try = forms.CharField(label='Username',max_length=100,initial=request.session['some_var'])
username = self.a_try
没有用。
还有其他想法吗?
最佳答案
试试这个:
class UserProfileConfig(forms.Form):
def __init__(self,request,*args,**kwargs):
super (UserProfileConfig,self).__init__(*args,**kwargs)
self.fields['username'] = forms.CharField(label='Username',max_length=100,initial=request.session['some_var'])
我找到这篇关于 dynamic forms 的文章很有帮助。
关于python - Django - 以形式访问request.session,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2373867/