モデルなしで管理パネルのカスタム ページを作成したいです。まず、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 の管理者によって処理されません。