Django Admin中Collection模型列表页404问题求助
解决Django Admin中Collection列表页404的问题
排查步骤:
确认请求URL
点击Admin侧边栏的Collection时,打开浏览器开发者工具(F12)查看请求的实际URL,正常应为/admin/你的app名称/collection/。直接在地址栏输入这个URL,确认是否仍返回404。检查APP注册状态
打开项目的settings.py,确保包含Collection模型的app已添加到INSTALLED_APPS列表中。迁移能正常执行不代表APP一定在列表里,比如可能通过--app参数指定了APP,但未加入INSTALLED_APPS。简化Admin注册配置
暂时去掉自定义的CollectionAdmin,直接注册模型:# admin.py from django.contrib import admin from .models import Collection, Item admin.site.register(Collection) admin.site.register(Item)重启服务器后再次尝试访问列表页,排除自定义Admin类的潜在问题。
确保Admin路由优先级
检查项目的URL配置,path('admin/', admin.site.urls)必须是urlpatterns的第一个条目,避免其他路由意外覆盖Admin的路径。验证用户权限
登录Admin后,进入“用户管理”页面,查看当前登录用户的权限列表,确保拥有查看集合(view_collection)权限。如果没有,添加该权限后重试。检查模型Meta配置
如果Collection模型定义了Meta类,确认app_label参数与实际APP名称一致:class Collection(models.Model): # ... 字段定义 class Meta: app_label = '你的app名称'错误的
app_label会导致Admin无法正确识别模型所属的APP,进而找不到列表页路由。重新同步迁移
执行以下命令重新同步迁移,排除数据结构不一致的问题:python manage.py makemigrations python manage.py migrate
内容的提问来源于stack exchange,提问作者Jonas Grumann
相关产品推荐
相关产品推荐

