1

我的 Django 应用程序正在经历一个尴尬的时刻。大约一个月前,我用 heroku 部署了我的 django 应用程序,直到今天它运行良好,用户无法访问他们的帐户。

我指定以下链接供用户在登录后访问他们的帐户

{% if perms.orders.recieved_order_list %}
     <li><a id="lettering" href="{% url orders.recieved_order_list %}">Admin</a></li>
     {% endif %}

它在开发中运行良好,但是当用户通过生产登录时链接没有显示。此外,如果超级用户通过生产登录,则会显示该链接。

在我的 settings.py 中,权限,

GROUP_PERMISSIONS = {
    "Administrator": ('auth.user.*','restaurant_detail.restaurant_detail.*','restaurant_detail.restaurant_read','orders.order.*','orders.orderItem.*','orders.orderitem.*','orders.orderitem_list','orders.order.*','orders.recieved_order.*','django_quickblocks.quickblocks.*','django_quickblocks.quickblocktype.*',),
    "Restaurants": ('restaurant_detail.restaurant_myprofile','restaurant_detail.restaurant_read','restaurant_detail.item.*','restaurant_detail.category.*','orders.order.*','orders.recieved_order.*',),
}

restaurant在这种情况下是用户并且administrator是超级用户。

4

1 回答 1

1

您的用户失去了“orders.received_order_list”的权限。超级用户隐式绕过所有权限检查,因此链接对他有效。

可能的原因:


  1. 您的数据库已损坏,并且未安装“received_order_list”的对象。您可以运行 python manage.py syncdb 来修复丢失
    的对象以获得权限。
  2. 未为用户或组设置所需的权限。这可以在管理界面中修复。
于 2013-06-17T20:09:53.563 回答