我正在尝试为具有Web前端(设计有引导程序)和移动前端(使用Flutter设计)的应用程序构建后端。
我一直在尝试理解Django REST Framework关于渲染器的文档,但我无法弄清楚如何处理不同类型的请求(例如,一个来自Web,一个来自移动,而不是两个不同的功能)平台。
有没有更好的方法来做这个,而不是通过请求传递一个标志,说明该应用程序是移动还是Web,并根据该标志的值返回一个Response对象或渲染对象?
您可以使用将拆分两个操作的正则表达式,如下所示:
def mobile(request):
"""Return True if the request comes from a mobile device."""
IS_MOBILE=re.compile(r".*(iphone|mobile|androidtouch)",re.IGNORECASE)
if IS_MOBILE.match(request.META['HTTP_USER_AGENT']):
return True
else:
return False
您可以使用请求标头来确定您的请求来自哪种设备并相应地返回您的数据。更具体地说,User Agent