如何将数据传递到django中的视图?

时间:2013-11-30 20:42:07

标签: django

我想为不同的设备显示不同的页面,例如PC和移动设备。有没有办法告诉用户代理请求,并将结果(设备类型)传递给相应的视图?我不想在每个视图中区分它们。 我能找到的是View类的子类并覆盖dispatch方法。告诉dispath方法中访问设备的类型并将结果保存为类的属性,因此在get和post方法中我可以通过self.result获取它。

1 个答案:

答案 0 :(得分:0)

如果您尝试使用用户代理信息进行区分,则此行为内置于基于类的视图中。 request对象在核心self.request类的view方法中保存为View对象,甚至在dispatch之前调用,因此在get中}和post您可以检查self.request.META.get('HTTP_USER_AGENT')或任何其他有用的HTTP标头。

当然,您依赖于HTTP请求提供的信息。