Django1.4手动导入管理模型

2024-09-29 23:29:16 发布

您现在位置:Python中文网/ 问答频道 /正文

my earlier question in regards extending Django's AdminSite相关,我成功地将adminisite子类化,可以很好地登录。但是,我的管理站点没有应用程序模型!这个管理员自动发现()函数不再工作了,而且我对Python的技术还不够熟练,无法找出我做错了什么!在

长话短说,如果我不能用管理站点自动发现(),如何将我所有的Django应用程序中的模型加载到我的子类adminisite实例中?在


Tags: django函数in模型应用程序站点my管理员
2条回答

你需要set up an admin.py and register your models。以下是Django教程的释义版本:

To do this, create a file called admin.py in your app directory, and edit it to look like this:

from django.contrib import admin
from app.models import Model1, Model2, Model3

admin.site.register(Model1)
admin.site.register(Model2)
admin.site.register(Model3)

没有理由不使用^{},即使您子类化了AdminSite。这是从注册在settings.INSTALLED_APPS中的所有Django应用程序导入admin模块的实际指令插入,有效地将模型注册到管理站点实例中。在

如果您有project.admin.foo_site子类的project.admin.foo_site实例,请回顾一下:

# project/urls.py
from django.conf.urls import url
from django.contrib import admin

from project.admin import foo_site


admin.autodiscover()

urlpatterns = patterns('',
    url(r'^admin/', include(foo_site.urls)),
)

#project/app/admin.py
from project.admin import foo_site
from project.app.models import Bar


foo_site.register(Bar)

相关问题 更多 >

    热门问题