Dirección del recurso:
https://download.csdn.net/download/qq_39208536/87642079
1. Crea un proyecto Django
2. Escriba la interfaz de inicio de sesión
2.1 Escribir enrutamiento urls.py
from django.contrib import admin
from django.urls import path
from sign import views
urlpatterns = [
path('admin/', admin.site.urls),
path('login/', views.login),
]
2.2 Método de inicio de sesión
vistas.py
# 导入相关的包
from django.core.cache import cache
from django.http import JsonResponse
TIME_OUT = 30 * 60 # 30min
def login(request):
username = request.POST.get("username")
password = request.POST.get("pwd")
token = "1234567890"
# 存储到缓存中(这个暂时没用,可以注释掉)
cache.set(username, token, TIME_OUT)
# 响应结果
obj = JsonResponse({'code': 200, 'msg': '操作成功', 'token':token})
# 将token写到浏览器cookie里
# obj.set_cookie('token',token)
return obj
Devuelva el mensaje de éxito de inicio de sesión y escriba el token en la cookie del navegador.
Nota: la información del token se puede poner en una cookie o en una sesión.
La operación de poner información de token en cookies o sesiones debe ser realizada por el front-end, no por el back-end.
3. Manejo de problemas entre dominios
Necesitamos lidiar con problemas de dominios cruzados.
Error de problema entre dominios de Django:
Método de manejo de problemas entre dominios de Django:
En el modo de separación front-end y back-end, el front-end y el back-end son puertos diferentes, lo que implica el problema del acceso entre dominios a los datos, porque la política del mismo origen del navegador no es compatible acceso a datos entre dos nombres de dominio diferentes de forma predeterminada, y Necesitamos transferir datos entre dos nombres de dominio, luego debemos agregar soporte para el acceso entre dominios al backend.
1. A través de la extensión django-cors-headers para resolver el soporte de back-end para el acceso entre dominios.
pip install django-cors-headers -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
2. Configuración de la capa intermedia:
configuración.py
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
]
3. Agregar lista blanca
CORS_ORIGIN_WHITELIST = (
'http://127.0.0.1:8080',
'http://localhost:8080',
'https://localhost:8080',
)
CORS_ALLOW_CREDENTIALS = True # 允许携带cookie
4. Desactive la protección contra falsificación de solicitudes entre dominios de la configuración predeterminada de Django.