Django 不在管理中显示模型
Django doesn't show model in admin
我是 Django 的新手,我有这样的简单模型。
from django.db import models
from django.contrib.auth.models import User
class Todo(models.Model):
owner = models.ForeignKey(User)
description = models.CharField(max_length=30)
done = models.BooleanField()
updated = models.DateTimeField(auto_now_add=True)
class News(models.Model):
title = models.TextField(max_length=400000)
description = models.TextField(max_length=400000)
created = models.DateTimeField(editable=False)
modified = models.DateTimeField()
def save(self, *args, **kwargs):
''' On save, update timestamps '''
if not self.id:
self.created = timezone.now()
self.modified = timezone.now()
return super(User, self).save(*args, **kwargs)
在url,
from django.conf.urls import patterns, include, url
from todo import views
from rest_framework import viewsets, routers
from django.contrib import admin
router = routers.DefaultRouter()
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', admin.site.urls),
url(r'^', include(router.urls)),
)
我查看了 Whosebug,他们说应该删除自动发现。但如果我删除,我会看到这样。我该怎么做才能让我的模型显示在管理员中?
您必须在管理应用程序中注册模型
见https://docs.djangoproject.com/en/1.9/ref/contrib/admin/#modeladmin-objects
在您的 admin.py 文件中执行此操作
from django.contrib import admin
from .models import Todo, News
# Register your models here.
admin.site.register(Todo)
admin.site.register(News)
您的应用程序可能未在 INSTALLED_APPS
中注册,如果它没有找到您的应用程序,它会失败但不会给出错误
我是 Django 的新手,我有这样的简单模型。
from django.db import models
from django.contrib.auth.models import User
class Todo(models.Model):
owner = models.ForeignKey(User)
description = models.CharField(max_length=30)
done = models.BooleanField()
updated = models.DateTimeField(auto_now_add=True)
class News(models.Model):
title = models.TextField(max_length=400000)
description = models.TextField(max_length=400000)
created = models.DateTimeField(editable=False)
modified = models.DateTimeField()
def save(self, *args, **kwargs):
''' On save, update timestamps '''
if not self.id:
self.created = timezone.now()
self.modified = timezone.now()
return super(User, self).save(*args, **kwargs)
在url,
from django.conf.urls import patterns, include, url
from todo import views
from rest_framework import viewsets, routers
from django.contrib import admin
router = routers.DefaultRouter()
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', admin.site.urls),
url(r'^', include(router.urls)),
)
我查看了 Whosebug,他们说应该删除自动发现。但如果我删除,我会看到这样。我该怎么做才能让我的模型显示在管理员中?
您必须在管理应用程序中注册模型
见https://docs.djangoproject.com/en/1.9/ref/contrib/admin/#modeladmin-objects
在您的 admin.py 文件中执行此操作
from django.contrib import admin
from .models import Todo, News
# Register your models here.
admin.site.register(Todo)
admin.site.register(News)
您的应用程序可能未在 INSTALLED_APPS
中注册,如果它没有找到您的应用程序,它会失败但不会给出错误