【Python】Django admin首页的view_site怎么改成自己想要的url?(尽量不修改django源码)
例如改成'www.baidu.com'
回答
最粗暴的办法,把site-packages/django/contrib/admin/templates/admin/base.html拷贝到你的项目目录/templates/admin/base.html,然后修改href="https://segmentfault.com/q/1010000009877056/%E4%BD%A0%E8%A6%81%E7%9A%84url"
我看了一下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="https://segmentfault.com/q/1010000009877056/{{ 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',
在项目的admin.py文件中,加入:admin.site.site_url = 'www.baidu.com'就可以了
相识问题: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
以上是 【Python】Django admin首页的view_site怎么改成自己想要的url?(尽量不修改django源码) 的全部内容, 来源链接: utcz.com/a/80133.html