我是 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
请您参考如下方法:
您需要做三件事才能通过管理站点编辑您的模型:
使用代码在您的应用程序目录中创建文件“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)在您的 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 )确保您的 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 )
