'is_authenticated'在模板中仍然始终返回false

比赛日

这是我提出的另一个问题,因为可能需要其他答案。

我模板中的代码总是返回false:

   {% if request.user.is_authenticated %}
      <p>I'm logged in</p>
   {% else %}
      <p>I am anonymous</p>
   {% endif %}

我从文档中了解到,我需要TEMPLATE_CONTEXT_PROCESSORS在settings.py中包含“ django.contrib.auth.context_processors.auth” ,因此我这样做如下:

TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.auth.context_processors.auth",
    "django.core.context_processors.debug",
    "django.core.context_processors.i18n",
    "django.core.context_processors.media",
    "django.core.context_processors.static",
    "django.core.context_processors.tz",
    "django.contrib.messages.context_processors.messages",
    "django.contrib.auth.context_processors.auth", #Added
)

至于我的views.py,我正在使用,render_to_response()但感觉这可能是导致问题的原因。我还需要在上下文中从数据库传递用户,但是添加了第三个参数context_instance=RequestContext(request)

def public_profile(request, username_in_url):
    user = User.objects.get(username = username_in_url)
    context = {
        'user': user,       
    }

    return render_to_response('public_profile.html', context, context_instance=RequestContext(request))

为什么request.user.is_authenticated即使用户已登录,仍然返回false?在views.py中使用相同的方法可以正常工作例如

if request.user.is_authenticated():
        return render_to_response('public_profile.html', context)
    else:
        return render_to_response('public_profile_anon.html', context)
路易

文档django.contrib.auth.context_processors.auth说,这种背景处理器定义了两个变量:userperms并且user

一个auth.User表示当前实例登录用户(或一个AnonymousUser实例,如果客户端没有登录)。

因此,尽管您可以在Python代码request.user中执行检查,但在模板中为user

您的具体情况存在的问题是,您还传递了一个user基于定义的字典username_in_url这与定义的变量冲突django.contrib.auth.context_processors.auth

所以:

  1. 更改字典(您将其命名为context),使其user具有不同的名称。(并在模板中更改对其的引用。)

  2. 更改模板以进行检查{% if user.is_authenticated %}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Flask-Login在Flask中获取'str'对象没有属性'is_authenticated'

来自分类Dev

Stormpath中是否有一个简单的“ is_authenticated”解决方案?

来自分类Dev

'str'对象没有属性'is_authenticated'

来自分类Dev

使我的test_user通过is_authenticated

来自分类Dev

'WSGIRequest' 对象没有属性 'is_authenticated'

来自分类Dev

GKLocalPlayer.authenticated始终返回false

来自分类Dev

对于模板上的非活动用户,user.is_authenticated始终返回False

来自分类Dev

Flask-Login is_authenticated不一致

来自分类Dev

@login_required和is_authenticated()-何时在Django中使用哪个?

来自分类Dev

Flask-Login中使用的“ is_authenticated”方法有什么意义?

来自分类Dev

Flask登录-is_authenticated和is_anonymous不反映登录/注销

来自分类Dev

Flask-Login logout_user 不会改变 is_authenticated

来自分类Dev

Django is_authenticated 和 @login_required 都不起作用

来自分类Dev

即使登录,request.user.is_authenticated也返回false

来自分类Dev

如果C中的语句始终返回false

来自分类Dev

Django is.authenticated 总是返回true

来自分类Dev

setProcessDefaultNetwork始终返回false

来自分类Dev

isEqualToString始终返回False

来自分类Dev

TrySetWallpaperImageAsync()始终返回false

来自分类Dev

hasNextLine()始终返回false

来自分类Dev

getCheckedItemPositions始终返回false

来自分类Dev

为什么仍然返回false?

来自分类Dev

strpos 在 false 时仍然返回

来自分类Dev

在共享NSUserDefaults中存储布尔值始终返回false

来自分类Dev

setATRHistBytes()方法始终返回false

来自分类Dev

HttpClient IsComplete始终返回false

来自分类Dev

GPS isProviderEnabled始终返回false

来自分类Dev

函数始终返回布尔False

来自分类Dev

DataColumn的AutoIncrement始终返回False

Related 相关文章

  1. 1

    使用Flask-Login在Flask中获取'str'对象没有属性'is_authenticated'

  2. 2

    Stormpath中是否有一个简单的“ is_authenticated”解决方案?

  3. 3

    'str'对象没有属性'is_authenticated'

  4. 4

    使我的test_user通过is_authenticated

  5. 5

    'WSGIRequest' 对象没有属性 'is_authenticated'

  6. 6

    GKLocalPlayer.authenticated始终返回false

  7. 7

    对于模板上的非活动用户,user.is_authenticated始终返回False

  8. 8

    Flask-Login is_authenticated不一致

  9. 9

    @login_required和is_authenticated()-何时在Django中使用哪个?

  10. 10

    Flask-Login中使用的“ is_authenticated”方法有什么意义?

  11. 11

    Flask登录-is_authenticated和is_anonymous不反映登录/注销

  12. 12

    Flask-Login logout_user 不会改变 is_authenticated

  13. 13

    Django is_authenticated 和 @login_required 都不起作用

  14. 14

    即使登录,request.user.is_authenticated也返回false

  15. 15

    如果C中的语句始终返回false

  16. 16

    Django is.authenticated 总是返回true

  17. 17

    setProcessDefaultNetwork始终返回false

  18. 18

    isEqualToString始终返回False

  19. 19

    TrySetWallpaperImageAsync()始终返回false

  20. 20

    hasNextLine()始终返回false

  21. 21

    getCheckedItemPositions始终返回false

  22. 22

    为什么仍然返回false?

  23. 23

    strpos 在 false 时仍然返回

  24. 24

    在共享NSUserDefaults中存储布尔值始终返回false

  25. 25

    setATRHistBytes()方法始终返回false

  26. 26

    HttpClient IsComplete始终返回false

  27. 27

    GPS isProviderEnabled始终返回false

  28. 28

    函数始终返回布尔False

  29. 29

    DataColumn的AutoIncrement始终返回False

热门标签

归档