Django:我如何在 SessionWizardView 中请求用户名?

Django: how do i request username in SessionWizardView?

我有问题。在我的代码中我必须使用 class ContactWizard(SessionWizardView):

我遇到了一个问题。我真的不知道如何获取当前登录用户的用户名:(

@login_required
def invite(request):
    return render_to_response('invite.html', {'full_name': request.user.username})

class ContactWizard(SessionWizardView):
    template_name = "invite.html"

    def done(self, form_list, **kwargs):
        form_data = process_form_data(form_list)

        return render_to_response('invitedone.html', {'form_data': form_data})

def process_form_data(form_list):
    form_data = [form.cleaned_data for form in form_list]

    #code code code...       
    #code code code...
    #code code code...

    return form_data

def process_form_data 我希望能够将用户名放入字符串中,然后将其插入电子邮件中。但我怎么得到它?我不能使用 selfrequest 因为它们没有在那里定义。

请帮我解决这个问题

你可以这样做:

class ContactWizard(SessionWizardView):
    template_name = "invite.html"

    def done(self, form_list, **kwargs):
        form_data = process_form_data(form_list, self.request.user)

        return render_to_response('invitedone.html', {'form_data': form_data})

不要忘记 require the login 向导视图。

无论如何,正如 @Daniel Roseman 所说,您可能还想重新考虑您的设计并使 process_form_data 成为视图的一部分。