我想尝试建立一个私人网站,用户可以在其中购买预订,但登录后整个商店只能查看自己的预订。 Saleor 似乎是 Python/Django 最完整的电子商务包。
有没有办法阻止访问使用类别?如在,我可以创建一个类别“约翰逊家族”,如果我批准他们的电子邮件访问权限,则只选择某些用户可以访问“约翰逊家族”类别。然后,这些用户将在商店内看到专门为他们准备的“产品”或“预订”。
编辑:抱歉,我应该问“如何”而不是“如果”当然可以在 Django 中完成,但我不确定“如何?”
正如您所问的一般性问题,这是一般性解决方案:
有没有办法阻止访问使用类别?
是的你可以。Django auth 模块有一个组的概念,您可以在其中创建一个组并将用户添加到该组中。然后在您的视图中,您可以检查用户是否属于特定组。您可以执行以下操作:
from django.contrib.auth.models import User, Group
#create the group
group = Group(name='Johnson Family')
group.save()
# Add user to the group
user = User.objects.get(email='[email protected]')
user.groups.add(group)
# Call this method from your view to check if user belongs to a group
def is_member(user, group_name):
return user.groups.filter(name=group_name).exists()
然后,这些用户将在商店内看到专门为他们准备的“产品”或“预订”。
为此,您始终可以过滤查询集以返回属于特定用户的对象。例如(假设 Product 和 Booking 模型有一个用户的外键):
Product.objects.filter(user=some_user)
Booking.objects.filter(user=some_user)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句