组织大Flask+AngularJS应用

2024-04-20 15:27:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我以前有过中等复杂烧瓶+AngularJS应用程序的经验。但是现在我开始开发一个新的更复杂的应用程序,需要帮助我如何设置Python和AngularJS应用程序。这里有一些关于这个应用程序的信息。在

  • 后端是Python(Flask)应用程序,使用Pandas操作数据
  • Python将有一个用于前端的api和一个公共api
  • 前端将是AngularJS SPA,主要是Google图表
  • 免费版和付费版都有
  • 付费版会比免费版显示更多的图表
  • 也会有一些静态页面的信息,定价,注册,登录
  • 喜欢使用一个免费和付费的Postgres数据库

我的想法是将每个后端和前端划分为不同的模块。我正在研究在Flask中使用Blueprint来分离免费和付费应用程序。在前端,我更喜欢将图表作为模块化指令,可以从免费复制到付费,反之亦然。在

我不清楚如何最好地设置Python应用程序的文件夹结构以及AngularJS文件将驻留在哪里。我也希望免费和付费的应用程序是模块化的,这样开发人员就可以分别工作而不影响其他人。在

问题:

  • 微服务架构是更好的方法吗?在
  • 免费和付费应用程序应该是一个代码库还是完全分开
  • Blueprint是Flask的最佳方法还是Python应用程序应该完全分开?在
  • 免费/付费的域名策略是什么?(例如,应支付的子域admin.example.com而且是免费的example.com/dashboard或类似)

Tags: 方法comapi信息应用程序flaskpandas烧瓶
1条回答
网友
1楼 · 发布于 2024-04-20 15:27:03

我先做这样的事情:

  • 创建名为mysite-www的Github repo。这个回购将只保存您的HTMl/CSS/Angular代码,并作为一个静态站点被deloy到类似amazons3/Cloudfront的站点。这意味着您的前端将非常快,不依赖于任何后端代码。在
  • 创建名为mysite-api的Github repo。这个回购将保存您的Flask代码,并部署到一个动态服务器基础设施,如Heroku/EC2/Elastic Beanstalk。在

现在你已经准备好了,让我们来谈谈你的Flask API项目。在

  • 你应该有一个代码库为你的产品的免费和付费版本。将这些项目划分为单独的项目是没有意义的,因为您将使用99%相同的代码。在
  • 你应该在你的用户帐户上设置一些标志,告诉你(随后,你的角度前端),如果用户是付费或免费用户,然后根据这些用户设置限制功能。在
  • 如果您有任何中等复杂的API,您应该始终使用Flask的蓝图。让你的API/API控件的所有部分都有单独的嵌套。在

现在,总的来说:

  • 为您的免费/付费产品提供一个单独的域名。当用户注册时,让他们选择一个计划。在
  • 不要根据用户是免费还是付费来更改产品URL,登录时应将两个用户定向到www.mywebsite.com/dashboard。在

根据您希望如何在前端和API之间对用户进行身份验证,您可能希望使用OAuth2协议。我在一家公司工作,这使得sorta的事情变得简单,re:http://flask-stormpath.rtfd.org/,但是还有很多其他的好选择:Flask安全性、Flask登录等等

祝你好运!在

相关问题 更多 >