python - 如何使用 reverse() 将 Django 请求中的 Referer URL 与另一个 URL 进行比较?

标签 python django django-urls

如何比较引荐来源网址和 reverse() 网址?

这是我当前的代码:

if request.META.get('HTTP_REFERER') == reverse('dashboard'):
    print 'Yeah!'

但这不起作用,因为反向将输出 /dashboardHTTP_REFERER 输出 http://localhost:8000/仪表板/

我目前的解决方案是:

if reverse('dashboard') in request.META.get('HTTP_REFERER'):
    print 'Yeah!'

我不知道这是否是最好的方法。任何建议都会很棒。

最佳答案

您可以使用 urlparse 从 URL 中获取路径元素。在 Python3 中:

from urllib import parse
path = parse.urlparse('http://localhost:8000/dashboard/').path

在 Python 2 中:

import urlparse
path = urlparse.urlparse('http://localhost:8000/dashboard/').path

关于python - 如何使用 reverse() 将 Django 请求中的 Referer URL 与另一个 URL 进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31944521/

相关文章:

javascript - 如何在 JavaScript 中使用 Django 模型

django - 使用 django 模板 url 标签时,项目名称自动插入到 url 中

django - get_sucess_url 在 django 中如何工作?

python - 带有python和fileinput的Unicode文件

python - 如何进行groupKfold验证并获得平衡的数据?

Python:写入特定的 CSV 列

python - 如何展平 Pandas 中的 json 字段

django - session 对于敏感数据是否安全?

python - 如何将模拟对象传递给自定义 simple_tag 的单元测试?

django - 什么可能导致 flatpages 中的 Page Not Found 错误?