获取主域名网址,无需硬编码

时间:2016-01-01 11:22:53

标签: python django

在Django中,我有许多子域,这些子域都安装了主题。问题是现在我需要实现一个重定向到我项目主域的函数。例如,当在子域主题中按下链接(“转到主域”)时,它将把它们带到主域。

我可以对此进行硬编码,但这并不是很好。所以我正在寻找其他解决方案。

这是views.py中的硬编码方式:

def network_url(request):
    return redirect('https://domain.com/')

那么如何创建一个不需要对主域进行硬编码的函数呢?

2 个答案:

答案 0 :(得分:2)

只需将您的链接存储在settings.py中即可。

MAIN_DOMAIN_LINK = 'https://domain.com/'

然后,您只需在视图中导入django.conf.settings即可访问它们:

from django.conf import settings

def network_url(request):
    return redirect(settings.MAIN_DOMAIN_LINK)

希望这会有所帮助。文档link

答案 1 :(得分:0)

试试这个

def network_url(request):
    return redirect(request.META.get("HTTP_HOST"))