マニュアルで説明されているように、デフォルトの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)),
)
そして、 admin.pyファイルを配置するpageという名前のアプリケーションがあります。
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のオーバーライドされたクラスに?
メソッドを削除したので、Djangoはファイルpage/admin.pyautodiscover
について何も表示しないようです。
しかし、最初の質問はもっと興味深いものです。/admin/my_adminページにアクセスしようとすると404エラーが発生したのはなぜですか...
PS最初の挨拶がカットされた理由o_O