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_title
및 index_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'