我想阻止用户访问某个页面,除非他们已经被重定向。为了做到这一点,我想我这样做。
if(request.META.get('HTTP_REFERER') != reverse('some_page')):
return redirect('some_page')
这几乎是完美的,除了 request.META.get('HTTP_REFERER')
返回整个url地址,而 reverse('some_page')
返回网址的缩写。
例如
request.META.get('HTTP_REFERER')
返回http://127.0.0.1:8000/page_one/some_page/
reverse('some_page')
返回/page_one/some_page/
我如何才能将url的第一部分(对不起,但我不知道正确的术语)添加到网站上呢?http:/127.0.0.1:8000。)至 reverse('some_page')
或将其从 request.META.get('HTTP_REFERER')
所以它们可以在if语句中同时进行比较,谢谢。
这工作:)
if(request.META.get('HTTP_REFERER') != request.build_absolute_uri(reverse('some_page'))):
return redirect('some_page')