Django:得到以前的网址

时间:2014-12-05 22:11:51

标签: python django url

我有一个Post模型,在添加到数据库之前需要某个类别,我希望自动生成类别。单击addPost按钮将转到另一个页面,因此将通过获取上一页URL的一部分来确定类别。

有没有办法将上一页网址作为字符串?

由于

编辑:我在这里添加了我的AddPost按钮。

<aside class="addPost">
       <article>
            <form action="/Forum/addPost">
                  <input type="submit" name="submit" value="Add Post"/>
            </form>
       </article>
</aside>

5 个答案:

答案 0 :(得分:27)

您可以使用request.META['HTTP_REFERER']执行此操作,但如果您的标签上一页仅来自您的网站,那么它就会存在,否则META HTTP_REFERER中将没有dict。所以要小心,确保使用.get()符号。

# Returns None if user came from another website
request.META.get('HTTP_REFERER')

注意:当Django 1.10是实际版本时,我给出了这个答案。我不再使用Django了,所以我无法判断这是否适用于Django 2

答案 1 :(得分:9)

您可以使用request.META.HTTP_REFERER

获取推荐网址

此处有更多信息:https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.META

答案 2 :(得分:3)

我无法回复@tryingtolearn评论,但对于未来的人,您可以使用request.META['HTTP_REFERER']

答案 3 :(得分:2)

更可靠的方法是在“添加帖子”按钮的URL中明确传递类别。

答案 4 :(得分:0)

您可以直接将其放置在模板中,而不用将其添加到上下文中,然后再将其传递给模板:

    <a href="{{ request.META.HTTP_REFERER }}">Return</a>