限制Django中某些应用的网址

时间:2016-06-05 14:42:22

标签: django

我已经找到了将特定网址添加到某个应用的方法。并限制在Django中用于其他应用程序的URL。

我使用Mezzanine,当用户访问sub.domain.com时,他会看到特定于该网站的模板。但是,当用户尝试转到sub.domain.com/example上的网址时,他会看到要在domain.com/example上显示的网址。我希望用户可以在应用程序中使用404。

抱歉我的英语不好,希望你能理解我在说什么。

1 个答案:

答案 0 :(得分:1)

您可以从request.META['HTTP_HOST']获取当前域名(用户正在访问的域名)。然后基于此,在某些域上访问URL时引发404。

from django.http import Http404
def my_restricted_view(request):
    domain = request.META['HTTP_HOST']
    if domain == 'sub.domain.com':
        return render(request, "template_name", {})
    else:
        raise Http404