[英]Getting error when I import LoginBackEnd module into settings.py
我只使用電話號碼作為唯一的登錄字段。 所以我正在嘗試編寫我的自定義后端身份驗證。 在嘗試導入 LoginBackend 模塊時,出現以下錯誤。
配置身份驗證后端時出錯:
File "C:\Users\UBITEK\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\conf\__init__.py", line 161, in __init__
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
@csrf_exempt
@api_view(["POST"])
@permission_classes((AllowAny,))
def logins(request):
phone_number = request.data.get("phone_number")
if phone_number is None:
return Response({'error': 'Please provide your phone number'},
status=HTTP_400_BAD_REQUEST)
user = authenticate(phone_number=phone_number)
if not user:
return Response({'error': 'Invalid Credentials'},
status=HTTP_404_NOT_FOUND)
token, _ = Token.objects.get_or_create(user=user)
return Response({'token': token.key},
status=HTTP_200_OK)
后端.py
from django.contrib.auth.backends import ModelBackend
from .models import User
class LoginBackend(ModelBackend):
def authenticate(self, request, **kwargs):
phone_number= kwargs['phone_number']
user = User.objects.get(phone_number=phone_number)
if user:
return user
else:
return None
設置.py
from .backends import LoginBackend
from django.contrib.auth.backends import ModelBackend
AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend',
'findr.backends.LoginBackend']
使這些東西正常工作所需要做的就是撤消 settings.py 中的導入語句。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.