当请求来自浏览器或在请求来自移动设备时发送JSON字典时呈现HTML

问题描述 投票:0回答:2

我正在尝试为具有Web前端(设计有引导程序)和移动前端(使用Flutter设计)的应用程序构建后端。

我一直在尝试理解Django REST Framework关于渲染器的文档,但我无法弄清楚如何处理不同类型的请求(例如,一个来自Web,一个来自移动,而不是两个不同的功能)平台。

有没有更好的方法来做这个,而不是通过请求传递一个标志,说明该应用程序是移动还是Web,并根据该标志的值返回一个Response对象或渲染对象?

python django python-3.x responsive-design django-rest-framework
2个回答
1
投票

您可以使用将拆分两个操作的正则表达式,如下所示:

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

0
投票

您可以使用请求标头来确定您的请求来自哪种设备并相应地返回您的数据。更具体地说,User Agent

© www.soinside.com 2019 - 2024. All rights reserved.