我已经向我现有的django站点添加了一个应用程序,为了查看它,我创建了一个额外的权限overview.view。但是,我没有在我的管理页面中看到它,所以我也不能将这个权限分配给任何用户。我想我所有的文件设置都是正确的,但我想我遗漏了一些东西。overview文件夹中的所有文件与其他工作文件夹中的文件相同。
我确实看到了这一页,但不知何故我也没有登录。
这是我的urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index')
]models.py
从django.db导入模型
class Overview(models.Model):
class Meta:
permissions = (
('view', "May view the overview"),
)和(部分) settings.py
INSTALLED_APPS = [
'overview.apps.OverviewConfig'
]发布于 2021-06-02 10:27:10
权限存储在数据库中,因此当您通过模型的Meta添加或删除它们时,同样的权限当然不会自动反映在数据库中。添加了权限,通过从auth应用程序、应用程序的ready方法连接的auth信号发布迁移。见源代码[GitHub]
dispatch_uid="django.contrib.auth.management.create_permissions“(post_migrate.connect,create_permissions )
因此,当您更改权限时,需要运行makemigrations和migrate,以确保它们被添加到数据库中。
https://stackoverflow.com/questions/67803146
复制相似问题