我的管理页面中的模型没有播种。我检查我的用户是否是超级用户,检查我的目录是否正确,并检查我的代码是否写错了。据我所知,所有这些都是正确的。但是,当我在settings.py中添加“ main.templates.admin.InfoAdmin”时,会出现此错误。
...django\apps\registry.py", line 135, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
没有这一行,没有错误,但是模型未显示在管理页面上。
admin.py
from django.contrib import admin
from .models import *
class InfoAdmin(admin.ModelAdmin):
fields = [
'site_title',
'site_content',
'site_published'
]
class DocumentAdmin(admin.ModelAdmin):
fields = [
'title',
'description',
'document',
'uploaded_at',
'creator'
]
admin.site.register(models.Info, InfoAdmin)
admin.site.register(models.Document, DocumentAdmin)
models.py
from django.db import models
from datetime import datetime
from django.contrib.auth.models import User
from django.conf import settings
# Create your models here.
class Info(models.Model):
site_title = models.CharField(max_length=200)
site_content = models.TextField()
site_published = models.DateTimeField("date published")
likes= models.IntegerField(default=0)
dislikes= models.IntegerField(default=0)
def __str__(self):
return self.site_title
class Document(models.Model):
title = models.CharField(max_length=100, default='NoTitle')
description = models.CharField(max_length=255, blank=True)
document = models.FileField(upload_to='documents/')
uploaded_at = models.DateTimeField(auto_now_add=True)
creator = models.ForeignKey('auth.User', on_delete=models.CASCADE, blank=True, null=True)
def __str__(self):
return self.title
urls.py
from django.urls import path
from . import views
from . import models
from django.conf.urls import url, include
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
admin.autodiscover()
app_name = "main"
urlpatterns = [
path('admin/', admin.site.urls),
path('$/', models.Info, name='Info'),
path("", views.homepage, name="homepage"),
path("myconta/", views.myconta, name="myconta"),
path("upload/", views.model_form_upload, name="upload"),
path("register/", views.register, name="register"),
path('', include("django.contrib.auth.urls")), # <-- added
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
settings.py
import sys, os, django
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DEBUG = True
ALLOWED_HOSTS = []
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'main.templates.apps.MainConfig',
'main.templates.admin.InfoAdmin',
]