Django用户似乎没有登录

时间:2017-02-22 22:04:11

标签: django authentication

我用django创建了一些单独的视图和相应的模板。它们都扩展了base.html模板,刚才我在base.html的标题中添加了一些按钮,这样我就可以在不同的视图之间导航。

我的网站还实施了用户模型。在标题中,我会快速检查一下用户是否已登录。当我显示他/她的姓名时,如果不是,则会显示注册和登录链接。

if request.method == 'GET':
        form_submission = SubmitForm()
        formset_authors = formset_factory(SubmitAuthorForm)

    c = { 'form_submission': form_submission, 'formset_authors': formset_authors }
    c.update(csrf(request))

    return render_to_response('journal_submit.html' ,c , RequestContext(request))

现在我的问题是,对于所有页面,这实际上按预期工作,除了一个。它是一个带有表单(集)的页面。 GET看起来像这样:

{{1}}

奇怪的是,当我添加一个login_required装饰器时,它确实让我通过了。所以它知道我已经登录了。我猜测用户不知何故没有正确传递。它是否正确?如果是这样,我怎么能(安全地)这样做?

1 个答案:

答案 0 :(得分:2)

render_to_response已被弃用,我认为您的问题与使用RequestContext有关,而您只能使用render

from django.shortcuts import render
return render(request, 'journal_submit.html', c)