Python 3.4.3でDjango 1.8を使用しています
FormUpload というモデルがあり、同じアプリケーション「mca」の admins.py に同じモデルの ModelAdmin を追加しています。
@admin.register(FormUpload)
class FormUploadAdmin(admin.ModelAdmin):
def upload_form(self, request):
context = dict(
# Include common variables for rendering the admin template.
self.admin_site.each_context(request),
# Anything else we want in the context...
)
return TemplateResponse(request, "admin/formupload.html", context)
def get_urls(self):
urls = super(FormUploadAdmin, self).get_urls()
upload_admin_urls = [
url(r'^upload/$', self.admin_site.admin_view(self.upload_form)),
]
logger.debug(upload_admin_urls)
return upload_admin_urls + urls
これは /admin/mca/upload/ で利用できるはずです。ただし、URLにアクセスすると、現在のURLが何にも一致しないという404が表示されます
これがデバッグの出力です
RegexURLPattern なし ^upload/$
(デバッグ時に表示がおかしくなるいくつかのものを削除しました)。
なしに注意してください。他の URL がリストされている場合、None があるメソッド名があります。
ここで何が間違っていますか?私はdjangoのドキュメントで提案されているアプローチに従っています - https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#modeladmin-methods