【问题标题】:What is an elegant way to create application access URLs for an existing web application?为现有 Web 应用程序创建应用程序访问 URL 的优雅方法是什么?
【发布时间】:2011-03-14 14:38:45
【问题描述】:

我被分配为使用 Django 构建的现有 Web 服务创建一个 RESTful Android 应用程序。

我当前的设计理念是让 Android 应用程序接收一个 JSON 版本的数据,这些数据通常会在每个 url 上发送到 Django 模板。所以我的看法是这样的:

#The site stores and organizes user's medical experiences by allowing search of 
# what treatments have been effective for a particular condition
treatment_for_condition = {'treatment' : treatment, 'condition' : condition}
if send_as_json :
     return HttpResponse(json.dumps(treatment_for_condition),mimetype='application/json')
else:
     t = loader.get_template('results.html')
     return HttpResponse(t.render(treatment_for_condition))

有设置“send_as_json”变量的优雅方法吗?我正在考虑以下两种策略:

1) 在所有 URL 的末尾添加一个限定符,以便 /condition/treatment/ 将返回一个网页 和 /condition/treatment/?json=true 将返回一个 JSON 对象

2) 创建一个子域 json.treatmentreport.com,它将“send_as_json”变量设置为 true,然后分派到与 www 域中相同的视图。

这些解决方案中的任何一个都可以优雅地实施吗?还是我完全走错了路?

【问题讨论】:

    标签: android django json


    【解决方案1】:

    我阅读了您的问题,我认为与其建议解决您现有设置的方法,不如先尝试回答您的问题:

    “为现有 Web 应用程序创建应用程序访问 URL 的优雅方法是什么?”

    查看django-piston

    Piston 是一个相对较小的 Django 应用程序,它可以让您 为您的网站创建应用程序编程接口 (API)。

    它有几个独特的功能:

    • 与 Django 的内部机制相关联。
    • 支持开箱即用的 OAuth(以及基本/摘要或自定义身份验证。)
    • 不需要绑定模型,允许使用任意资源。
    • 会讲 JSON、YAML、Python Pickle 和 XML(以及 HATEOAS。) 附带一个方便的 Python 可重用库
    • 尊重并鼓励正确使用 HTTP(状态码,...)
    • 已内置(可选)表单验证(通过 Django)、节流等。
    • 支持流式传输,内存占用少。
    • 别挡道。

    【讨论】:

      猜你喜欢
      • 2018-07-05
      • 2012-08-08
      • 2021-07-25
      • 1970-01-01
      • 1970-01-01
      • 2019-06-14
      • 2010-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多