我正在使用Django-two-factor-auth库登录我的网站。一切正常,然而,当我尝试登录并在使用login(request, user)注册后将新用户重定向到他们的个人资料页面时,我一直被重定向到登录页面。 当用户重新输入他们的新登录凭证时,登录工作正常,但是我想在注册后将用户直接重定向到他们的个人资料页面。 我知道Django-two-factor-auth覆盖了Django的内置身份验证(Django.contrib.auth),但是我不确定为什么登录()函数没有将用户标记为已通过身份验证。 views.py from django.contrib.auth import lo
我试图使用Django和allauth一起创建一个登录页面。
我能够成功地登录并重定向用户到LOGIN_REDIRECT_URL (=“/ user /{id}/mypage”)页面。我对/users/{id}/mypage有一个单独的视图,称为UserHomePageView,如views.py中定义的那样:
from django.views.generic import TemplateView
class UserHomePageView(TemplateView):
template_name = "user_homepage.html"
我想要一个安全措施
我使用的是默认的django身份验证系统,很少定制。登录和注销的核心功能正在按预期工作。问题在于我的登录表单模板中的以下片段:
{% if next %}
<p>Please login to see this page.</p>
{% endif %}
这是根据正式文档中提供的示例登录视图进行调整的。这样做的想法是,如果用户试图在不登录的情况下访问受保护的页面,他/她将被重定向到登录页面,并且next参数被设置为受保护页面的url。这很好用。
但是,当用户单击登录url并直接导航到登录url时,不应显示上述错误消息。但是在本例中,next参数被设置为来自set
我正在尝试使用"Django Microsoft身份验证后端( Django microsoft Authentication Backend,)“在Django项目中登录,但是当我尝试使用我的微软凭据登录时,我仍然会收到这个错误。
AADSTS50011: The reply URL specified in the request does not match the reply URLs configured for the application: '******-*****-*****-*****-*********'.
我已经检查了我添加到django项目
我有一个Django应用程序,它使用内置登录系统。
我正在尝试编写一个单元测试,以验证如果用户已经通过身份验证,login url是否重定向到home。这意味着,如果一个已经通过身份验证的用户试图访问login url,他们将被重定向到home。
这是Django的LoginView的内置特性,我已经证实它确实有效。但是,我不知道如何为此编写单元测试。
问题:如何通过单元测试验证重定向是否发生?LoginView返回没有url参数的TemplateResponse。
到目前为止,我得到的是:
from django.test import TestCase
from django.urls i
我是django的新手,CBV和我正在尝试弄清楚如果用户没有在ListView类的post方法中进行身份验证,如何重定向用户。因此,代码如下所示:
#views.py
from django.shortcuts import render
class MyListView(ListView):
def post( self, request, *args, **kwargs ):
if not request.user.is_authenticated():
print "user NOT authenticated"
我是Django的新手,我正在尝试使用PermissionRequiredMixin来验证经过身份验证的用户在访问页面之前是否是staff,如果他没有经过身份验证,视图将用户重定向到登录页面,在此页面上将从django.contrib.auth.views.login加载一个表单,好的。但是,如果用户经过身份验证,并且不是staff,那么当重定向时,他将不会在登录页面上有任何表单。
我该怎么办?当用户尝试访问“只访问员工”页面时,如果他不是员工,则注销该用户?如果是,我如何使用CBV和TemplateView来实现这一点?
视图
from django.contrib.auth.mixins