为了账号安全,请及时绑定邮箱和手机立即绑定

尝试在我的 Django Web 应用程序中添加“添加到愿望清单按钮”

尝试在我的 Django Web 应用程序中添加“添加到愿望清单按钮”

绝地无双 2023-12-20 19:40:14
我正在尝试在列出书籍的页面上添加“添加到愿望清单”按钮。当用户按下该按钮时,它会将 isbn(书籍的 pk)和用户 ID 添加到愿望清单表中。由于某种原因,当我按下按钮时,它没有将它们添加到我的数据库中。没有显示任何错误,所以我不知道问题是什么。这是我的代码#views.pyclass wishlistView(TemplateView):    template_name = 'TextSearch/wishlist.html'    def post(self, request, pk):        isbn = self.request.POST.get('isbn')        current_user = request.user        book = wishlist(userid_id = current_user.id, ISBN_id = isbn)        book.save()        return我的 HTML 代码{% if user.is_authenticated %}    <form method="post">    {% csrf_token %}    <input type="hidden" value="{{book.pk}}" name="isbn">    <a href="{% url 'TextSearch:wishlist' book.pk %}" >Add To WishList</a>    </form>   {% else %}    <a href="{% url 'User:RegisterView'  %}"  >Add To WishList</a>   {% endif %}我的桌子#models.pyclass wishlist (models.Model):    userid = models.ForeignKey(User, on_delete= models.CASCADE)    ISBN = models.ForeignKey(books, on_delete = models.CASCADE)提前谢谢你,我是 Django 新手。
查看完整描述

2 回答

?
米脂

TA贡献1836条经验 获得超3个赞

-- 问题已修复 -- 这只是一个 HTML 错误,这是更新后的代码


{% if user.is_authenticated %}

    <form action="{% url 'TextSearch:wishlist' book.pk %}" method="post">

    {% csrf_token %}

    <input type="hidden" value="{{book.pk}}" name="isbn">

    <input type="submit" value="Add to wishlist">

    </form>

   {% else %}

    <a href="{% url 'User:RegisterView'  %}"  >Add To WishList</a>


查看完整回答
反对 回复 2023-12-20
?
潇湘沐

TA贡献1816条经验 获得超6个赞

我个人使用这个方法


我的型号:


class UserWishlist(models.Model):

user = models.ForeignKey(UserModel,on_delete=models.CASCADE,blank=False)

products = models.ManyToManyField(Product)

比我认为的:


product = Product.objects.get(id=id)

obj, created = UserWishlist.objects.get_or_create(user=request.user)

if product in obj.products.all():

    obj.products.remove(product)

else:

    obj.products.add(product)

    return JsonResponse({'msg':'Item added to wishlist!'})

IMO 更容易,也有助于切换


查看完整回答
反对 回复 2023-12-20
  • 2 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信