Django请求路径

Django请求路径

问题描述:

我一直在解决我的django项目问题。问题是我有一个项目,它将为不同客户的用户检索数据。我需要知道观看者来自哪里(request.path [我的原始解决方案])。我一直在寻找几种不同的选项,这些选项听起来接近我想要做的,但我不确定最好的选择是什么,以前没做过。Django请求路径

我的第一个选择是使用'tag'或'keyword'在urls.py中添加一个url,然后在request.path中查找该标记/关键字,我将其添加为会话密钥。然后继续获取数据。

我开始看的其他东西是网站框架。在阅读完文档后,我仍然对网站的工作方式感到困惑,所以我不确定这是否是正确的选择。

另一个解决方案讨论了使用中间件,这与使用站点框架的研究有关。

然后又有人谈到在apache中这样做。

有人能帮我指出正确的方向吗?

干杯,

牛逼

这不是从你的问题完全清楚,但如果你问用户是在即将到当前页面之前的URL,你可能想request.META['HTTP_REFERRER']。评论

编辑这将是一个非常坏主意。考虑到您可能同时处理多个请求,全局变量并不安全。引用程序已经可以从请求中获得,可以在所有视图和模板中访问,所以我不知道中间件会给你什么。

+0

是的,我需要知道他们来自哪里。这必须在加载任何模板之前发生,因为根据它们来自哪里将确定样式,数据... 我在考虑尝试中间件解决方案,并尝试根据引用来创建全局关键字,我的观点和模板。感谢 – 2010-07-01 12:22:40

+0

好的,谢谢我不知道。 – 2010-07-02 11:22:44

如果您需要知道您的用户来自哪个URL,请检查REFERER http标头,该标头可在request.META.get('HTTP_REFERER')中找到。 查看http://docs.djangoproject.com/en/1.2/ref/request-response/#ref-request-response了解更多信息。

但要小心,referer元不是强制性的,可能由于隐私浏览或直接从URL栏访问页面而丢失。