Python Django用户名在GET请求中为空
在我的views.py中,我有一个使用GET方法的函数,如下所示Python Django用户名在GET请求中为空,python,django,http,authentication,Python,Django,Http,Authentication,在我的views.py中,我有一个使用GET方法的函数,如下所示 def status_codes(request): try: url = request.GET.get('url') urls = linksextraction(url) url_codes.objects.filter().delete() print(request.user.username) # prints empty string # do something re
def status_codes(request):
try:
url = request.GET.get('url')
urls = linksextraction(url)
url_codes.objects.filter().delete()
print(request.user.username) # prints empty string
# do something
return JsonResponse(url_final_data)
except Exception:
return JsonResponse({"message": "Invalid url"})
当我试图打印当前登录的用户时,会打印一个空字符串。我在使用POST的其他函数中也使用了相同的功能,并且在那里工作得很好。
在涉及GET方法的情况下,有人能帮我获取用户名吗?您确定用户已通过身份验证吗?根据,空用户名通常表示没有人经过身份验证
如果您的响应是
JsonResponse
,这是否意味着您正在使用某种Ajax来调用它?在这种情况下,默认情况下不会转发凭据。例如,这就是您确定用户已通过身份验证的方式?根据,空用户名通常表示没有人经过身份验证
如果您的响应是
JsonResponse
,这是否意味着您正在使用某种Ajax来调用它?在这种情况下,默认情况下不会转发凭据。例如,这就是请检查用户是否登录的方式
print(request.user)
请检查用户是否登录
print(request.user)
我没有获得用户名的原因是因为我忘了将登录装饰器放在函数顶部我没有获得用户名的原因是因为我忘了将登录装饰器放在函数顶部它的打印“AnonymousUser”它的打印“AnonymousUser”当使用GET方法时,request.user.u被验证为false;当使用POST方法时,request.user.u被验证为True。请帮助如何称呼此url?这是浏览器中的链接吗?或者你使用javascript来调用它?不使用js,它是在浏览器中触发的端点。是的,我的管理页面正在运行。你能给我看看你的设置吗?AUTH_USER,SESSION…AUTHENTICATION_BACKENDS=('social_core.BACKENDS.OpenIdAuth','social_core.BACKENDS.google.google.GoogleOpenId','social_core.BACKENDS.google.google.GoogleOAuth2','django.contrib.AUTH.BACKENDS.modelbend',)request.USER.u在使用GET方法时验证为false,在使用POST方法时验证为True。请帮助如何称呼此url?这是浏览器中的链接吗?或者你使用javascript来调用它?不使用js,它是在浏览器中触发的端点。是的,我的管理页面正在运行。你能给我看看你的设置吗?AUTH_USER、SESSION…AUTHENTICATION_BACKENDS=('social_core.BACKENDS.OpenIdAuth'、'social_core.BACKENDS.google.google.GoogleOpenId'、'social_core.BACKENDS.google.google.GoogleOAuth2'、'django.contrib.AUTH.BACKENDS.modelbend')