例如改成'www.baidu.com'
我看了一下django(1.9.8)源码,这个链接确实是源码里(/path/to/python/site-packages/django/contrib/admin/sites.py)写死的 site_url = '/',然后在html(/path/to/python/site-packages/django/contrib/admin/templates/admin/base.html)里引用 href="{{ site_url }}" ,并没有在settings.py 定一个常量什么的。
你要是实在不想修改源码的话,试试在./settings.py TEMPLATES里最后面增加一个自定义的context_processors,在这里面也定义一个 site_url = '/xxx/' 试试能不能实现(我没有测试过)。
流程:
1、新建一个 self_context_processors.py,内容:
def set_url(request):
return {'site_url': '/xxx/'}
2、在settings TEMPLATE context_processor最下面增加:
'self_context_processors.set_url',
相识问题:https://segmentfault.com/q/10...
在你的AdminSite对象中可以修改
class MyAdminSite(AdminSite):
site_header = '控制台'
site_title = '文件管理'
site_url = '/the/url/to'
...
AdminSite.site_url 属性是1.8版本新增加的
参考文档:AdminSite attributes
How change django admin “view site” link to custom absolute url
4 回答4.5k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
最粗暴的办法,把site-packages/django/contrib/admin/templates/admin/base.html拷贝到你的项目目录/templates/admin/base.html,然后修改href="你要的url"