[python] Django Admin-헤더 ‘Django Administration’텍스트 변경

django 관리 헤더의 ‘Django 관리’텍스트를 어떻게 변경합니까?

“관리자 사용자 정의”문서에서 다루지 않는 것 같습니다.



답변

업데이트 : Django 1.7 이상을 사용하는 경우 아래 답변을 참조하십시오 .


2011의 원래 답변 :
이렇게하려면 고유 한 관리자 base_site.html템플릿을 만들어야합니다 . 가장 쉬운 방법은 파일을 만드는 것입니다.

/<projectdir>/templates/admin/base_site.html

다음은 맞춤 제목을 제외하고 원본base_site.html 의 사본이어야합니다 .

{% block branding %}
<h1 id="site-name">{% trans 'my cool admin console' %}</h1>
{% endblock %}

이것이 작동하려면 프로젝트에 대한 올바른 설정이 있어야합니다 settings.py.

  • /projectdir/templates/에 추가되어 있는지 확인하십시오 TEMPLATE_DIRS.
  • django.template.loaders.filesystem.Loader에 추가되어 있는지 확인하십시오 TEMPLATE_LOADERS.

에 대한 자세한 내용은 문서를 참조하십시오settings.py .


답변

Django 1.7부터 템플릿을 재정의 할 필요가 없습니다. 이제 구현할 수 site_header , site_titleindex_title사용자 정의의 특성 AdminSite을 쉽게 관리 사이트의 페이지 제목 및 머리글 텍스트를 변경하기 위해. AdminSite 서브 클래스를 작성하고 인스턴스를 URLconf에 연결하십시오.

admin.py :

from django.contrib.admin import AdminSite
from django.utils.translation import ugettext_lazy

class MyAdminSite(AdminSite):
    # Text to put at the end of each page's <title>.
    site_title = ugettext_lazy('My site admin')

    # Text to put in each page's <h1> (and above login form).
    site_header = ugettext_lazy('My administration')

    # Text to put at the top of the admin index page.
    index_title = ugettext_lazy('Site administration')

admin_site = MyAdminSite()

urls.py :

from django.conf.urls import patterns, include
from myproject.admin import admin_site

urlpatterns = patterns('',
    (r'^myadmin/', include(admin_site.urls)),
)

업데이트 :만큼 당신이 간단하게 설정할 수 있습니다 oxfn 지적 site_header당신에 urls.py또는 admin.py서브 클래스하지 않고 직접 AdminSite:

admin.site.site_header = 'My administration'


답변

관리 사이트 헤더를 설정하는 쉬운 방법이 있습니다-다음 urls.py과 같이 현재 관리 인스턴스에 할당하십시오

admin.site.site_header = 'My admin'

또는 별도의 방법으로 헤더 작성 마법을 구현할 수 있습니다

admin.site.site_header = get_admin_header()

따라서 간단한 경우에는 서브 클래스가 필요하지 않습니다. AdminSite


답변

에서 urls.py당신에게 가장 중요한 3 개 가지 변수를 대체 할 수 있습니다 :

from django.contrib import admin

admin.site.site_header = 'My project'                    # default: "Django Administration"
admin.site.index_title = 'Features area'                 # default: "Site administration"
admin.site.site_title = 'HTML title from adminsitration' # default: "Django site admin"

참조 : 이 속성들에 대한 장고 문서 .


답변

이 질문에 대한 답변을 바탕으로 Django 1.8.3의 간단한 완벽한 솔루션입니다.

settings.py추가 :

ADMIN_SITE_HEADER = "My shiny new administration"

urls.py추가 :

from django.conf import settings
admin.site.site_header = settings.ADMIN_SITE_HEADER


답변

가장 쉬운 방법은

from django.contrib import admin

그런 다음 url.py기본 응용 프로그램 하단에 추가하십시오.

admin.site.site_title = "Your App Title"
admin.site.site_header = "Your App Admin" 


답변

Django 2.1.1의 경우 다음 줄을 추가하십시오. urls.py

from django.contrib import admin

# Admin Site Config
admin.sites.AdminSite.site_header = 'My site admin header'
admin.sites.AdminSite.site_title = 'My site admin title'
admin.sites.AdminSite.index_title = 'My site admin index'