我按照手册中的描述覆盖了默认的 AdminSite类,尽管关于那里的这部分的信息太纯了。
我的gs/admin.py文件:
from django.contrib.admin import AdminSite
from django.conf.urls import patterns, url
from gs.views import *
class AdminSiteGs(AdminSite):
def get_urls(self):
urls = super(AdminSiteGs, self).get_urls()
urls += patterns('',
url(r'^my_admin_view/$', self.admin_view(my_admin_view))
)
return urls
admin_site_gs = AdminSiteGs()
gs这是我的应用程序和项目名称。
gs/urls.py 文件:
from django.conf.urls import patterns, include, url
from page import views
from gs.admin import admin_site_gs
urlpatterns = patterns('',
url(r'^admin/', include(admin_site_gs.urls)),
)
我有一个名为 page 的应用程序,我在其中放置admin.py文件:
from gs.admin import admin_site_gs
from page.models import Page, Menu
from django.contrib import admin
class PageAdmin(admin.ModelAdmin):
list_display = ('name', 'url', 'page_type')
class MenuAdmin(admin.ModelAdmin):
list_display = ('name', 'code')
admin_site_gs.register(Page, PageAdmin)
admin_site_gs.register(Menu, MenuAdmin)
所以这里没有任何工作=(/admin/my_admin视图(它返回 404 ),也没有主管理页面/admin。我没有看到我在page/admin.py文件中注册的模型。
听起来可能很有趣,但我尝试了所有员工在 3-4 小时内工作 =)) 正如你可能猜到的那样,我在 Django 和 Python 中都是新手......我现在只想知道如何附加自定义 URL 和视图到我重写的 AdminSite 类?
我删除了autodiscover
方法,所以现在看来 Django 没有看到关于文件page/admin.py的任何内容。
但是第一个问题更有趣,为什么我在尝试访问/admin/my_admin页面时遇到 404 错误...
PS为什么我开头的问候被剪掉了o_O