![](/img/trans.png)
[英]How to clean form data depending on logged-in user in django admin panel?
[英]Problem: Any logged-in user can access Django Admin panel
我的帐户具有is_superuser = 1
,其他用户具有is_superuser = 0
和is_staff = 0
。 但是Django并不限制对“编外人员”用户的访问。 因此,任何登录的用户都可以访问管理面板。
从Django文档中:
默认情况下,登录到admin要求用户将is_superuser或is_staff属性设置为True。
但这是行不通的。 我的管理员设置没有任何更改。 自定义管理面板网址除外:
from django.contrib import admin
urlpatterns = [
path('my-admin/', admin.site.urls),
]
那么,不遵循Django限制会出现什么问题呢?
的Django == 2.2.4
数据库:MySQL
问题是因为在MySQL数据库中, field_type
的is_superuser
是Text
。 我将字段类型更改为TINYINT(1)
(布尔类型),现在Django不允许所有用户访问Admin(超级用户除外)。
因此,在Django项目中从SQLite切换到MySQL时要非常小心! 您将遇到很多类似这样的错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.