【问题标题】:Django 1.8: Model doesn't appear in admin panelDjango 1.8:模型没有出现在管理面板中
【发布时间】:2015-12-26 21:29:56
【问题描述】:

我正在关注 Django 官方教程,但我被困在the second part。特别是,我无法在管理面板中显示我新创建的模型。一步一步:

  1. 我创建了一个新应用;
  2. 我将其添加到 settings.py(见下文);
  3. 我编辑了 models.py 文件(见下文);
  4. 我成功地运行了我的第一次迁移;
  5. (我检查了 MySQL,一切正常);
  6. 我更改了 admin.py 文件(见下文);
  7. 我疯狂地刷新了管理面板,但没有任何结果。

myproject/myproject/settings.py

[...]

# Application definition

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',
)

[...]

myproject/myapp/models.py

from django.db import models 

class Question(models.Model):
    body = models.CharField(max_length=200)

myproject/myapp/admin.py

from django.contrib import admin

from .models import Question

admin.site.register(Question)

我做错了什么?

【问题讨论】:

  • 你使用的是什么 WSGI 服务器?您是否尝试过杀死它并重新开始?还要检查是否没有 WSGI 进程卡在后台。
  • @GwynBleidD 我觉得自己很愚蠢。 :) 我重新启动了我的 Apache 服务器,现在我可以在管理面板中看到问题模型!
  • 您正在尝试的管理 URL 是什么。看起来您已经导航到身份验证应用程序。

标签: python django django-admin


【解决方案1】:

如何启动调试服务器?更改代码后它是否重新启动?尝试停止调试服务器并使用 --nothreading 选项重新开始。

【讨论】:

  • 我没有使用调试服务器。我使用 wsgi_mod 部署在 Apache 上。
  • 不要那样做。刚开始时,请使用开发服务器;它会为您省去很多麻烦。
【解决方案2】:

这对我有用

from django.contrib import admin
from .models import Role

class RoleAdmin(admin.ModelAdmin):
    class Meta:
        model = Role

admin.site.register(Role,RoleAdmin)

这对你有意义吗?

【讨论】:

    【解决方案3】:

    尝试杀死或重新启动您的 WSGI 服务器。还要检查是否没有 WSGI 进程卡在后台。

    【讨论】:

      猜你喜欢
      • 2013-03-07
      • 2010-12-21
      • 2015-06-11
      • 1970-01-01
      • 2023-02-04
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      相关资源
      最近更新 更多