2016-11-24 31 views

回答

2

有兩種解決方案,我可以拿出來。

首先,您可以使用自定義模板admin/base.html。但是,通過閱讀默認模板,您將不得不復制粘貼大量代碼來更改鏈接,這看起來像是一種矯枉過正的行爲。

另一種解決方案涉及overriding AdminSiteAdminSite有一個名爲site_url的屬性,它似乎更改它會完成這項工作。所以,在根本上,你可以做這樣的事情:

your_app/admin.py

from django.contrib.admin import AdminSite 
from .models import MyModel 

class MyAdminSite(AdminSite): 
    site_url = 'https://yourdomain.com' 

admin_site = MyAdminSite(name='myadmin') 

your_project/urls.py

from django.conf.urls import url 
from myapp.admin import admin_site 

urlpatterns = [ 
    url(r'^myadmin/', admin_site.urls), 
] 

你應該註冊您的所有模型與您的自定義管理員,而不是Django的默認設置:

from your_app.admin import admin_site 
admin_site.register(MyModel) 
2

在Django中1.11.5,似乎: from django.contrib import adminadmin.site.site_url = 'https:....'admin.py文件足夠