2014-12-05 48 views
8

我有一个Post模型,需要在添加到数据库之前的某个类别,并且我希望自动生成类别。点击addPost按钮可以进入不同的页面,因此该类别将通过获取前一页面url的一部分来确定。Django:获取以前的网址

有没有办法让前一页的网址作为字符串?

谢谢

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

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

回答

7

您可以在这里使用request.META.HTTP_REFERER

更多信息得到参考网址:https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.META

+0

道歉,我不太遵循的工作方式。你能解释一下吗?如果我能够以这种方式检索URL,它会允许我将它视为字符串类型? – tryingtolearn 2014-12-06 01:18:44

+3

尝试使用request.META.HTTP_REFERER时出现错误,表示dict对象没有属性HTTP_REFERER。 – tryingtolearn 2014-12-06 11:28:51

1

一个更可靠的方法是明确地传送的类别中添加新贴按钮的URL。

+0

对不起,能否详细说明一下?我是这个新手。 – tryingtolearn 2014-12-06 01:12:48

10

您可以使用self.request.META['HTTP_REFERER']来做到这一点,但只有您的标签页前一页来自您的网站才会存在,否则META dict中不会有HTTP_REFERER。所以要小心,并确保您正在使用.get()符号。

# Returns None if user came from another website 
referer = self.request.META.get('HTTP_REFERER') 
+0

名称'自我'未定义? – 2017-08-25 00:56:09

3

我不能回答@tryingtolearn评论,但对于未来的人,你可以使用request.META['HTTP_REFERER']