首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python创建SaaS应用程序

如何使用Python创建SaaS应用程序
EN

Stack Overflow用户
提问于 2012-03-29 11:09:47
回答 4查看 24.6K关注 0票数 33

您能提供一些文章/应用程序的建议吗?这些文章/应用程序允许您使用Python创建SaaS(Software )应用程序。

就目前而言,我不明白的一般议题是:

  1. 您是否有一个适用于所有客户端的应用程序,还是每个客户端都有一个应用程序?
  2. 如何管理每个客户端的数据库访问权限或不同的数据库?
  3. 有什么工具可以让你把一个应用程序转换成SaaS吗?
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-17 00:07:19

  1. 一个项目,这将使维护更容易。我在django-ikari中使用中间件处理主机解析。
  2. 你不知道,见#1
  3. 我使用以下方法:
代码语言:javascript
复制
- [django-ikari](https://github.com/airtonix/django-ikari) : anchored (sub)domains
- [django-guardian](https://github.com/lukaszb/django-guardian) : per object permissions
- [django-tastypie](http://tastypieapi.org/) : easy RESTful api
- [django-userprofiles](https://github.com/stephrdev/django-userprofiles) : better than django-registration
- [django-billing](https://github.com/gabrielgrant/django-billing) : plan based subscription controls
- django-pricing : plan based subscription definition

  1. 虽然没有必要,但从长远来看,以下几点将有所帮助:
代码语言:javascript
复制
- [django-hunger](https://github.com/joshuakarjala/django-hunger) : private beta signups
- django-waffle : feature flip
- django-classy-tags : nice, easy and neat templatetag creation
- django-merchant : abstracted payment gateway framework
- django-mockups : fast testing with models
- django-merlin : better multi-step forms (wizards)

  1. 最后,很高兴有
代码语言:javascript
复制
- [django-activity-stream](https://github.com/justquick/django-activity-stream)

票数 52
EN

Stack Overflow用户

发布于 2012-03-29 12:21:57

一个基本的,基本的例子,你将如何去做它。

假设您有一个用于解决特定业务案例的简单应用程序。例如,您创建了一个应用程序来处理您办公室的房间预订。

要将此应用程序“转换”为服务,您必须配置它,使应用程序中大多数特定用户的部分都是参数化的(因为缺少更好的word,它们可以被“模板化”)。

这就是前端的转换方式。您可能会创建变量来保存该应用程序的徽标、标题、挑逗、配色方案;允许每个用户自定义其实例。

到目前为止,您的应用程序能够在前端自定义自己。它仍然在使用第一阶段设计的相同的数据库。

现在的问题是只显示那些与特定用户相关的字段。这将是对数据库进行参数化。因此,您可以添加一个列,该列将每一行标识为属于特定用户;然后创建视图或存储过程,根据登录用户筛选记录。

现在,应用程序可以“出租”;因为您可以基于用户自定义实例。

然后它就会变得更大--取决于应用程序的规模、类型和预期的定制。当每个用户都有自己的专用数据库而不是存储过程+视图组合时,您可能会认为应用程序的性能更好。

您可能会决定,对于某些用户类型(或“包”),需要运行应用程序的专用实例。因此,对于“高级”或“超”用户,您希望有自己的专用系统运行。

如果您的应用程序需要大量的存储-您可能会决定单独收费的存储。

的底线是,它与所使用的语言无关。它更多地是一个架构和设计问题。

票数 9
EN

Stack Overflow用户

发布于 2012-03-29 11:18:01

软件即服务只是一个营销词,从技术上讲,它与通过互联网访问的服务器没有什么不同。所以问题3没有任何意义。这就留给我们问题1和问题2:

  1. 在这种情况下,使用“app”是什么意思?您的web应用程序(使用Python和Django构建)可以有多个Django应用程序(构成web应用程序的组件),但我认为这不是您的意思。您可以使用Python/Django构建您的网站,并根据登录的用户(客户端)拥有不同的自定义选项。例如,高级客户端可以启用多个高级选项,但它仍然是相同代码库的一部分。只是某些选项(按钮/控件等)没有显示在某些客户端
  2. Django拥有大量用于用户管理、权限和组的工具。您可以给每个用户(每个客户端)不同的权限,这些权限决定了他们能做什么。数据库访问应该由您的web应用程序管理。例如,代码确定需要在网页上显示哪些信息(取决于登录的客户端),该代码从数据库检索信息。根据您的目标规模,您还可以指定应该使用哪个数据库从哪个数据库检索信息。
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9924169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档