Skip to main content
 首页 » 编程设计

python之为什么没有出现 Django 管理界面

2025年05月04日31softidea

我是 django 的新手。

我正在尝试根据一本关于​​ Django 的书来运行示例。

我已经在我的模型类中添加了“class Admin”,但是,在 django 管理界面中,我只能看到“Users”、“Groups”和“Sites”,我的模型类都没有出现。

没有错误和警告信息,所以我不知道发生了什么,接下来该怎么办。

有什么帮助吗?

from django.db import models 
 
# Create your models here. 
class Publisher(models.Model): 
    name = models.CharField(max_length=30) 
    address=models.CharField(max_length=50) 
    city=models.CharField(max_length=60) 
    state_province=models.CharField(max_length=30) 
    country=models.CharField(max_length=50) 
    website=models.URLField() 
 
    def __str__(self): 
        return self.name 
 
    class Admin: 
        pass 
 
class Author(models.Model): 
    salutation=models.CharField(max_length=10) 
    first_name = models.CharField(max_length=30) 
    last_name = models.CharField(max_length=40) 
    email=models.EmailField() 
    headshot=models.ImageField(upload_to='/tmp') 
 
    def __str__(self): 
        return '%s %s' % (self.first_name, self.last_name) 
 
    class Admin: 
        pass 
 
class Book(models.Model): 
    title=models.CharField(max_length=10) 
    authors=models.ManyToManyField(Author) 
    publisher=models.ForeignKey(Publisher) 
    publication_date = models.DateField() 
 
    def __str__(self): 
        return self.title 

请您参考如下方法:

您需要做三件事才能通过管理站点编辑您的模型:

  1. 使用代码在您的应用程序目录中创建文件“admin.py”(查看 https://docs.djangoproject.com/en/dev/ref/contrib/admin/#modeladmin-objects):

    from django.contrib import admin 
    from your_app.models import Publisher, Author, Book 
     
    admin.site.register(Author) 
    admin.site.register(Publisher) 
    admin.site.register(Book) 
    
  2. 在您的 urls.py 中添加以下内容(查看 https://docs.djangoproject.com/en/dev/ref/contrib/admin/#hooking-adminsite-instances-into-your-urlconf ):

    from django.conf.urls import patterns, url, include 
    from django.contrib import admin 
     
    admin.autodiscover() 
     
    urlpatterns = patterns('', 
        (r'^admin/', include(admin.site.urls)), 
        # your urls goes here 
    ) 
    
  3. 确保您的 settings.py 满足以下要求(查看 https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overview ):

    TEMPLATE_CONTEXT_PROCESSORS = ( 
        'django.contrib.messages.context_processors.messages', 
        #other context processors 
    ) 
     
    MIDDLEWARE_CLASSES = ( 
        'django.contrib.messages.middleware.MessageMiddleware', 
        # other middleware 
    ) 
     
    INSTALLED_APPS = ( 
        'django.contrib.admin', 
        'django.contrib.auth', 
        'django.contrib.contenttypes', 
        'django.contrib.messages', 
        'django.contrib.sessions', 
        # other apps 
    )