Django 管理者用のカスタムページを作成するにはどうすればいいですか? 質問する

Django 管理者用のカスタムページを作成するにはどうすればいいですか? 質問する

モデルなしで管理パネルのカスタム ページを作成したいです。まず、index.html をプロジェクト フォルダーにコピーします。

mysite/
    templates/
        admin/
            index.html

次に、アプリに自分のコードをブロックする追加します:

<div class="module">
    <table summary="{% blocktrans with name="preferences" %}Models available in the preferences application.{% endblocktrans %}">
        <caption><a href="preferences" class="section">{% blocktrans with name="preferences" %}Preferences{% endblocktrans %}</a></caption>
            <tr>
                <th scope="row"><a href="preferences">Preferences</a></th>
                <td><a href="preferences" class="changelink">{% trans 'Change' %}</a></td>
            </tr>
    </table>
</div>

これはうまく動作します。次に、新しいページ /templates/admin/preferences/preferences.html を作成し、urls.py に追加します。

url(r'^admin/preferences/$', TemplateView.as_view(template_name='admin/preferences/preferences.html')),

そして、preferences.html にコードを追加します:

{% extends "admin/base_site.html" %}
{% block title %}Test page{% endblock %}

実行すると、「要求された管理ページが存在しません。」というエラー メッセージが表示されます。何が間違っているのでしょうか?

ベストアンサー1

管理者URLを追加する必要があります前に管理者自体の URL パターン:

urlpatterns = patterns('',
   url(r'^admin/preferences/$', TemplateView.as_view(template_name='admin/preferences/preferences.html')),
   url(r'^admin/', include('django.contrib.admin.urls')),
)

この方法では、URL は Django の管理者によって処理されません。

おすすめ記事