创建模型类
from django.db import models
from users.models import User
from goods.models import Goods
# Create your models here.
# 用户收藏商品的模型类
class GoodCollection(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="用户")
good = models.ForeignKey(Goods, on_delete=models.CASCADE, verbose_name="商品")
def __str__(self):
return "%s收藏%s商品" % (self.user.username, self.good.sku_name)
class Meta:
db_table = "good_collection"
verbose_name_plural = "商品收藏表"
相关路由
from django.urls import path
from .views import *
urlpatterns = [
path("user/collection/",GoodCollectionAPIView.as_view())
]
登录校验---utils.py
import jwt
from django.conf import settings
from rest_framework.response import Response
from users.models import User
# 登录的校验函数
def check_login(func):
def wrapper(self, request, *args, **kwargs):
# 校验用户登录
# 1.从请求头中获取token
token = request.headers.get("Authorization")
# 2.解码token,获取用户的信息
try:
payload = jwt.decode(token, key=settings.SECRET_KEY, algorithms=["HS256"])
except Exception as e:
print("解码错误:", e.args)
return Response({
"code": 401,
"msg": "未认证"
})
# 3.获取用户信息,并添加收藏