我正在尝试为my project
创建一个管理页面,包括app1
和app2
myproject
settings.py
urls.py
admin.py
app1
app2
Inmyproject/urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('app1/', include('app1.urls')),
path('app2/', include('app2.urls')),
]
Inmyproject/admin.py
from django.contrib import admin
from app1.models import User
from app2.models import Manager, Employee, Task, Template
admin.site.register(User)
admin.site.register(Manager)
admin.site.register(Employee)
admin.site.register(Task)
admin.site.register(Template)
为什么我的管理页面没有导入任何模型?谢谢!
在每个应用程序中你必须放置admin文件以便django可以跟踪这些文件,所以在你的app1 in admin.py文件中与app1目录app1/admin.py
相关,你需要放置以下代码
from django.contrib import admin
from app1.models import User
admin.site.register(User)
和在app2中admin.py中与app2相关的目录app2/admin.py
放置如下:
from django.contrib import admin
from app2.models import Manager, Employee, Task, Template
admin.site.register(Manager)
admin.site.register(Employee)
admin.site.register(Task)
admin.site.register(Template)
每个应用程序都应该有自己的默认设计admin.py文件。Django会在相应的app文件夹中检测到它,并反映在admin页面中。
但是,如果您在这里尝试的是在一个admin.py中编译每个模型。Django默认不会检测到这个文件。另一种方法是,你可以尝试创建一个新应用"admin"注册文件夹里的每个模型。我从来没有这样做过,因为admin.py分离在自己的应用程序中有自己非常重要的目的。