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