如何在django中将数据传递给视图?

如何在django中将数据传递给视图?,django,Django,我想为不同的设备显示不同的页面,如PC和手机。有没有办法告诉请求中的用户代理,并将结果(设备类型)传递给相应的视图?我不想在每个视图中区分它们。 我能找到的是将View类子类化并重写dispatch方法。在dispath方法中告诉访问设备的类型,并将结果保存为类的属性,以便在get和post方法中,我可以通过self.result获得它。如果您试图使用您提到的用户代理信息来进行区分,则此行为内置于基于类的视图中。request对象在核心view类的view方法中保存为self.request,甚

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

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


当然,这取决于HTTP请求提供的信息。

除非页面之间存在一些主要差异(不仅是不同的样式/css文件,而且需要在服务器端进行实际工作),否则解决方案通常是客户端的(javascript等)