我暂时考虑使用Django的情况
>提供HTML(由Django的模板)
>从Django项目中提供CSS,JS等所有静态文件
而我使用Django的意图就在这里停止.将javascript文件下载到客户端后,他们使用RESTful API(Ajax方式)与Flask后端进行通信.
为什么有两个框架?为什么这样?
我工作的这个项目的前端人员非常了解Django,我想我主要想使用他的CSS / HTML模板/ jquery技能.
我想拥有一个独立的API服务器,我觉得Flask是我需要的理想选择(从构建API服务的角度来看).
我想人们会建议“为什么不让Django家伙用Jinga2来模板?” (以这种方式,我们可以取消Django)我想我现在的答案是:我不希望他投入太多时间(学习)
我猜人们会建议“为什么不使用Django来提供Restful API调用?” (以这种方式,我们可以取消Flask)我想我现在的答案是:我(作为实现API逻辑的人)就像Flask一样.
我的问题
简短的一句:这可行吗?或者这听起来像个疯子?
长期:您能否给予一些指导?
谢谢,
解决方法
is this doable? or does this sound a crazy idea?
两个都是的:)
Can you kindly give some guidance?
这是一个简单的方法:
你编写了两个应用程序,一个在Flask中,一个在Django中.假设您在尝试共享数据库或其他资源时解决了所有问题,现在您运行了两个应用程序,每个应用程序都有自己的Web服务器,并且每个应用程序都在不同端口上侦听请求.
您现在将代理Web服务器作为前端Web服务器放置到外部世界,并根据URL将来自客户端的请求代理到一个或另一个应用程序.您可以使Flask应用程序的所有URL都具有格式http:// hostname / api / …,然后键入URL中的api以分隔代理服务器中的请求并将它们提供给正确的应用程序.
因为从外部所有请求转到相同的主机名和端口(代理服务器的端口),您将不会遇到跨站点脚本的任何问题.