即使没有将Django-rest-frame绑定到模型,它也可以很好地工作。你的方法听起来不错,但我相信你可以减少一些步骤,以使所有工作正常进行。
例如,rest框架带有一些内置的渲染器。开箱即用,它可以将JSON和XML返回给API使用者。你还可以通过仅安装所需的python模块来启用YAML。Django-rest-framework将输出任何基本对象,例如dict,list和tuple,而无需你进行任何额外的工作。
因此,基本上,你只需要创建带有参数的函数或类,执行所有必需的计算并将结果以元组形式返回到REST api视图即可。如果JSON和/或XML满足你的需求,则django-rest-framework将为你处理序列化。
在这种情况下,你可以跳过第2步和第3步,仅使用一个类进行计算,而使用一个类向API使用者进行演示。
以下几段代码可能会对你有所帮助:
请注意,我尚未对此进行测试。它仅作为示例,但是应该可以工作:)
CalcClass:
REST视图:
你的urls.py:
当你访问http://example.com/api/v1.0/resource/?format=json时,此代码应输出列表列表。如果使用的是后缀,可以替代?format=json使用.json。你还可以通过在标头中添加”Content-type”或”Accept”来指定希望获取的编码。
希望这可以帮助你。