我暂时考虑使用Django的情况
我的意图是使用Django停在这里。将javascript文件下载到客户端后,他们使用RESTful API(Ajax方式)与Flask后端进行通信。
我正在工作的这个项目的前端人员非常了解Django,我想我主要想使用他的CSS / HTML模板/ jquery技能。
我想拥有一个独立的API服务器,我觉得Flask是我需要的理想选择(从构建API服务的角度来看)。
我想人们会建议“为什么不让Django家伙用Jinga2进行模板化?” (以这种方式,我们可以取消Django)我想我现在的答案是:我不希望他投入太多时间(学习)
我猜人们会建议“为什么不使用Django来提供Restful API调用?” (以这种方式,我们可以取消Flask)我想我现在的答案是:我(作为实现API逻辑的人)像Flask。
简短一句:这可行吗?或者这听起来是个疯狂的想法?
长篇:你能提供一些指导吗?
谢谢,
答案 0 :(得分:7)
我对派对来说有点迟,但Application Dispatching应该对此有所帮助。根据文档中的介绍,它是如何进行的:
应用程序调度是组合多个Flask的过程 WSGI级别的应用程序。您不仅可以组合Flask 应用程序到更大的但是任何WSGI应用程序。这个 甚至允许你在中运行Django和Flask应用程序 如果你愿意,可以并排翻译。
答案 1 :(得分:5)
如果我是你,我会从设计师那里获取Django模板并将它们转换为Jinja2,然后在Flask中100%构建应用程序。但既然你问过......
这可行吗?或者这听起来是个疯狂的想法?
两者都是:)
你能提供一些指导吗?
这是一个简单的方法:
你编写了两个应用程序,一个在Flask中,一个在Django中。让我们假设您解决了尝试共享数据库或其他资源时遇到的所有问题,现在您已经运行了两个应用程序,每个应用程序都有自己的Web服务器,并且每个应用程序都在不同的端口上侦听请求。
您现在将代理Web服务器作为前端Web服务器放置到外部世界,并根据URL将来自客户端的请求代理到一个或另一个应用程序。您可以使Flask应用程序的所有URL都具有格式http://hostname/api/...
,然后键入URL中的api
以分隔代理服务器中的请求并将它们提供给正确的应用程序。 / p>
因为从外部所有请求都转到相同的主机名和端口(代理服务器的端口),所以您不会遇到跨站点脚本的问题。
答案 2 :(得分:1)
您可以使用 Django 使用 Django 模板创建 HTML 并通过 Flask 提供它们。这是可行的。
答案 3 :(得分:0)
与Jinja和Django模板类似,你真的需要告诉你的Django开发人员只使用Jinja。您将为此项目增加复杂性,以使该项目取得成功。
没有Django开发人员,只有开发人员。