Django - 以表格形式访问request.session

Bra*_*ant 8 python django django-forms

我正在调用如下表单,然后将其传递给模板:

f = UserProfileConfig(request)
Run Code Online (Sandbox Code Playgroud)

我需要能够访问表单中的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)
Run Code Online (Sandbox Code Playgroud)

我收集的是,这不起作用,因为与设置用户名字段相比,构建表单时.

所以,接下来我尝试了这个:

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
Run Code Online (Sandbox Code Playgroud)

无济于事.

还有其他想法吗?

Fel*_*ing 11

试试这个:

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'])
Run Code Online (Sandbox Code Playgroud)

我发现这篇关于动态表单的文章非常有帮助.