我想为不同的设备显示不同的页面,例如PC和移动设备。有没有办法告诉用户代理请求,并将结果(设备类型)传递给相应的视图?我不想在每个视图中区分它们。 我能找到的是View类的子类并覆盖dispatch方法。告诉dispath方法中访问设备的类型并将结果保存为类的属性,因此在get和post方法中我可以通过self.result获取它。
答案 0 :(得分:0)
如果您尝试使用用户代理信息进行区分,则此行为内置于基于类的视图中。 request
对象在核心self.request
类的view
方法中保存为View
对象,甚至在dispatch
之前调用,因此在get
中}和post
您可以检查self.request.META.get('HTTP_USER_AGENT')
或任何其他有用的HTTP标头。
当然,您依赖于HTTP请求提供的信息。