什么API框架适合我的需求?

时间:2012-05-28 11:14:02

标签: python django api

我正在使用Django(1.3),我需要准备一个API,用于与C#中的程序进行通信。因此我们选择XML作为输入和输出格式,因为C#非常适合XML。

除此之外,我担心与django配合良好的API,足以满足我的需求。我对tasty-piedjango-piston等API进行了一些研究。我担心的是:

  • 我会将我的用户记录保留在User上,而不是其他一些模型。据我所知,apis支持自定义身份验证和授权。但如果可以保留User,那么感冒就找不到更多?

  • 在文档中,所有示例都只是基于在已定义的模型上选择记录或创建新记录。但就我而言,我需要通过不同的模型检查数据(因此,输入数据不能从单个模型中导出)。同样,输出也将使用来自不同模型的数据创建。使用更简单的单词,我的输入和输出不受限于简单模型,我需要处理(输入数据的某些部分)并以XML格式创建自定义输出数据。

关于这两个基本问题,我想知道像Django-piston或Tasty-pie这样的API是否适合我,或者我真正需要的是一个可以读取和生成XML请求/响应并且与django一起使用的应用程序

我需要的是一个django应用程序:

  • 可以生成XML格式的响应(与远程C#程序通信)
  • 可以处理XML请求(来自远程c#程序)或简单的url请求(如django视图,但生成XML输出。)
  • 不要使用django身份验证,而是通过自定义User模型
  • 进行自定义身份验证

1 个答案:

答案 0 :(得分:0)

django-piston和tastypie都允许您定义您描述的自定义数据“格式”。活塞(也可能是tastypie)还提供方便的方法和结构,使您可以轻松地将模型建模为api端点。但是,并不要求与您的模型联系。你基本上构建了一个字典,然后返回它,并让格式化程序将dict转换为json或xml响应。

我相信这两个图书馆都能满足您的需求。我想建议您使用JSON,因为它广泛用于API,减少了听到,并且更容易用肉眼阅读。 C#处理JSON就好了。