bugfix> python > 投稿

django docsによると:

class MyModelAdmin(admin.ModelAdmin):
def get_urls(self):
    urls = super(MyModelAdmin, self).get_urls()
    my_urls = [
        url(r'^my_view/$', self.my_view),
    ]
    return my_urls + urls
def my_view(self, request):
    # ...
    context = dict(
       # Include common variables for rendering the admin template.
       self.admin_site.each_context(request),
       # Anything else you want in the context...
       key=value,
    )
    return TemplateResponse(request, "sometemplate.html", context)

私が間違っていない場合、urls.pyにu​​rlを、views.pyにビューを追加することで、通常行われるのと同じことを行うことができますが、このメソッドを導入することの用途は何ですか?私はdjangoの初心者であり、ここで何かを見逃しているかもしれません。 views.pyでできないので、上記の方法を使用する必要がある例を教えてください。 任意のガイダンス/ヘルプをいただければ幸いです。

回答 1 件
  • 私は考え出したと思う、それらの両方は同じことを行うために使用することができますが、重要な違いは、上記の方法を使用して書くビューがに属するということです管理アプリ views.pyの一般的なビューは、作成した特定のアプリに属します。 したがって、ModelAdminのURLは名前を使用して呼び出す必要がありますadmin:url_name URLはadmin/my_views / 与えられた例で。

あなたの答え