Python/Django REST API架构

6

我想要创建一个像Instagram一样的Python/Django应用程序,专注于某个特定领域的社交网络。

考虑到架构,我需要以下内容:

  1. REST API(例如api.mystagram.com)。
  2. 公共网站(www.mystagram.com或mystagram.com)。
  3. URL缩短服务(例如mystagr.am)。
  4. Android应用程序
  5. iPhone应用程序
  6. Windows Phone应用程序
  7. ...

在这之前,我只构建过简单到中等复杂的网站,并未使用自定义的API。我从未构建过自己的REST API(虽然我使用过其他REST APIs),也从未制作过Android/iPhone应用程序并在Play Store/App Store上发布过(尽管我做过一些典型的示例)。

所以,对我来说最重要的事情似乎是先创建一个完美的REST API,然后再从那里继续。然而,我还有几个问题难以解决。

  1. 我应该如何组织公共网站和REST API的项目?这些应该是独立的Django项目,还是我应该创建一个Django项目,并将公共网站和REST API都作为内部Django模块添加到其中?
  2. 公共网站是否也应该使用REST API?或者仅使用纯Django模型更好?

感谢您提前的任何帮助!如果有人知道关于这个主题(架构)的一些好的演示文稿之类的东西,随时欢迎!

此致, Kristof


Django REST框架可能会帮助你入门。http://django-rest-framework.org/ - cjd82187
一定要使用像Django REST Framework或Tastypie这样的东西。它们将成为您的Django项目的一部分,并将使用您现有的模型。如果您想做很多ajax操作,您也可以在公共站点上使用它。 - Ngenator
3个回答

9

1

谢谢你的提示!我今天早些时候也发现了http://django-rest-framework.org/。这可能听起来像一个愚蠢的问题,但是使用这样的REST框架是否推荐,还是最好创建自己的实现?因为REST并不是真正的标准... - Braek
我建议您使用Django REST框架。主要是因为您已经在使用Django并意识到能够专注于您的应用程序的好处。 - stormlifter
好的 - 我正在使用Django REST框架进行开发。谢谢你的建议。 - Braek

0

回答你的第一个问题,将公共网站和REST APIs放在同一个Django项目中会是一个很好的做法。现如今,每个Web应用程序都包含公共网站以及移动应用的REST APIs。因此,如果它们都在一个应用程序中,就更容易维护网站和REST APIs。以下是Django REST Framework的链接。 https://github.com/tomchristie/django-rest-framework

对于第二个问题,是的,你可以在网站上使用REST APIs。但一般情况下你不需要这样做。在大多数情况下,Django模型已经可以满足你的需求。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接