我刚刚开始使用Django 1.11开始我的第一个项目 . 我遵循了我在多个Django 1.10项目中使用的相同步骤,但出于某种原因,我的模型没有出现在我的localhost / admin站点上 .
来自settings.py的我的INSTALLED_APPS:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'home.apps.HomeConfig',
]
我的admin.py:
from django.contrib import admin
from home.models import Home
# begin Admin Class Definitions
class HomeAdmin(models.ModelAdmin):
fieldsets = [
('Title', {'fields': ['title']}),
('Publication Date', {'fields': ['pub_date']}),
('Home Page Text', {'fields': ['header', 'sub_header',
'link_text']}),
]
list_display = ('title', 'pub_date')
list_filter = ['pub_date']
admin.site.register(Home, HomeAdmin)
我的[main_app] /urls.py:
from django.conf.urls import url, include
from django.contrib import admin
admin.autodiscover()
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('home.urls'))
]
但是当我去 localhost:8000/admin
时,唯一存在的是群组和用户,好像我根本没有注册任何模型 .
我已经运行makemigrations并进行迁移,我尝试将admin.py放在app目录而不是项目目录中 . 它当前位于[project_name] / [project_name]目录(具有settings.py,urls.py和wsgi.py文件的目录)中 .
有什么建议?
3 回答
我认为你必须将你的模型注册到管理员 . 如果它是一个简单的模型,我通常会这样做 .
我放弃了尝试诊断我的问题,并开始了项目并重新开始 . 它现在工作正常 . 老实说,我不确定问题是什么 . 如果有人好奇,这是我的新文件:
来自settings.py:
来自urls.py:
来自admin.py:
老实说,我不明白为什么以前没有工作 . 如果有更多洞察力的人可以发现我不能发现的一些差异请告诉我 .
当我使用Django管理员时总是以这种形式导入:
并且在类中继承:
所以你的admin.py文件会像这样: