私は(プロジェクトレベルで)にしようとしている使用:ジャンゴ1.10:admin.site.site_headerを設定すると、デフォルトの管理者ログインビュー
- を使用し、私のログインビューとしてデフォルトの管理ビュー(
auth.views.login
) それが、これは管理者ページに
site_header
を更新しないこと、両方のログインと管理ページ
最初に表示されるようにulrs.py
内admin.site.site_header
を設定
# urls.py
admin.site.site_header = "my header name"
urlpatterns = [
url(r'^admin/?', admin.site.urls),
url(r'^', include('django.contrib.auth.urls')),
...
]
私がこれを行うにはいずれかのことができるはずと思われる。ここから:
# registration/login.html
{% extends "admin/login.html" %}
またはこの(ジャンゴ/管理/テンプレート/ login.htmlとからのコピー/貼り付け):
# registration/login.html
{% extends "admin/base_site.html" %}
{% load i18n static %}
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/login.css" %}" />
{{ form.media }}
{% endblock %}
...
を 管理ビューのように、「my header name」のヘッダーを使用しないでください。
なぜ私はregistration/login.html
を得るadmin.site.site_header
私はurls.py
に設定していますか?
ありがとうございました。
更新:
私はauth/view.py
は、デフォルトではそのコンテキスト内site_header
を持っていないことを参照してください。
# auth/view.py
def login(...
current_site = get_current_site(request)
context = {
'form': form,
redirect_field_name: redirect_to,
'site': current_site,
'site_name': current_site.name,
}
...
そしてadmin/sites.py
は、管理者のためのsite_header
を設定AdminSite
を定義するための責任があることサイト
class AdminSite(object):
...
def each_context(self, request):
"""
Returns a dictionary of variables to put in the template context for
*every* page in the admin site.
For sites running on a subpath, use the SCRIPT_NAME value if site_url
hasn't been customized.
"""
script_name = request.META['SCRIPT_NAME']
site_url = script_name if self.site_url == '/' and script_name else self.site_url
return {
'site_title': self.site_title,
'site_header': self.site_header,
'site_url': site_url,
'has_permission': self.has_permission(request),
'available_apps': self.get_app_list(request),
}
...
上記のコピー/ペーストlogin.html
で使用するbase_site.html
(ハードコード{{ "my header name }}
)を作成する方法はわかりましたが、それは面倒です。私はこの変数を1か所に設定し、できるだけ多くの管理者を直接使用したいと思っています。
私の高度な関心は、基本的には、通常のユーザーアカウント用の管理アプリケーションをピギーバックすることです。私はこれについて間違っていますか?
'django-allauth'をお勧めしますか?また、(あまり安全ではないとのあなたのコメントを考慮して)、管理者には安全であることが望まれます。管理モジュールを使用しないことをお勧めしますか? –
はいdjango-allauthをお勧めします。通常の使用には管理者を使用せず、CBVで何かを構築する – e4c5