Python Django:获取上一个url

Python Django:获取上一个url,python,django,url,Python,Django,Url,我有一个帖子模型,在添加到数据库之前需要特定的类别,我希望自动生成类别。单击addPost按钮将带您进入另一个页面,因此类别将通过获取上一个页面url的一部分来确定 有没有办法将上一页url作为字符串获取 谢谢 编辑:我在这里添加了我的AddPost按钮 <aside class="addPost"> <article> <form action="/Forum/addPost"> &l

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

有没有办法将上一页url作为字符串获取

谢谢

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

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

您可以使用
request.META.HTTP\u REFERER


此处的更多信息:

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

您可以通过使用
request.META['HTTP\u REFERER']
来实现这一点,但如果只有您的上一页标签页来自您的网站,否则,META
dict
中将不会有HTTP\u REFERER。因此,请小心,并确保您使用的是
.get()
符号

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

注意:我在Django1.10实际发布时给出了这个答案。我不再使用Django了,所以我不知道这是否适用于Django 2,我不能回答@tryingtolearn评论,但对于未来的人,你可以使用
request.META['HTTP\u REFERER']

而不是将其添加到上下文中,然后将其传递到模板中,你可以使用以下命令直接将其放入模板中:



对不起,您能详细说明一下吗?我绝对是个新手。抱歉,我不太明白这是怎么回事。你能解释一下吗?如果我能够以这种方式检索URL,它是否允许我将其视为类型字符串?当尝试使用request.META.HTTP\u REFERER时,我收到一个错误,说dict对象没有属性HTTP\u REFERER.name“self”未定义?如果使用基于类的视图,只需添加self.request即可。谢谢,它也适用于Django3,这可能会引发
KeyError
,导致页面崩溃;使用公认答案中所述的
dict.get()
可以防止出现这种情况。这会引发多值dictKeyError