【问题标题】:Django: get current url path from actual current pageDjango:从实际当前页面获取当前url路径
【发布时间】:2014-05-26 10:05:27
【问题描述】:

我有一个情况,希望你能帮助我。我已经阅读了一些关于在 SO current_urlurl TEMPLATE_CONTEXT_PROCESSORS (最相关)上获取当前 url 路径的帖子和答案。但这似乎不适合我想要做的事情。我有一个看法:

def fish_search(request):
    args = {}
    #irrelevant code here
    args['fishes'] = fishes
    args['current_path'] = request.get_full_path()
    return render_to_response('ajax_search.html', args)

在我的 ajax_search.html 中:

<a id="search-results" href="{{ current_path }}"></a>

还有base.html:

div id="search-results" ></div>

Javascript 将搜索结果转储到 base.html。而base.html在fishMarket.html、fishDictionary.html、fishRumour.html等中进行了扩展。所以,遗憾的是,出现的路径都是“/search/”

如果我从fishMarket.html 搜索,我希望路径为/fishMarket/,如果我从fishDictionary.html 搜索,则应显示/fishDictionary/,同样,如果我从fishRumour.html 搜索,则应显示/fishRumour/ .有没有人遇到过这种情况?你是如何解决这个问题的?我对 django 比较陌生,所以请简化解决方案。

非常感谢您的帮助。非常感谢!

【问题讨论】:

    标签: django django-templates django-views django-urls


    【解决方案1】:

    不要使用request.get_full_path(),它会为您提供搜索视图的路径,而是使用 HTTP 标头中的引荐来源网址。

    您可以通过request.META['HTTP_REFERER'] 获得它

    【讨论】:

    • 非常感谢您的解决方案。但是在将 request.get_full_path() 替换为 request.META['HTTP_REFERRER'] 时出现以下错误,错误是 KeyError: 'HTTP_REFERRER' KeyError: 'HTTP_REFERRER'
    • @vt2424253,抱歉,HTTP_REFERRER 拼写错误,应该是 HTTP_REFERER - 带有单个 R
    • 谢谢!我正在做一些搜索,这也是我发现的。顺便说一句,如果您认为这个问题可能对其他人有用,请投票赞成这个问题。非常感谢您的帮助。
    猜你喜欢
    • 2021-07-23
    • 2021-04-12
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    相关资源
    最近更新 更多