Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Django与烧瓶一起使用 情况:_Django_Django Templates_Flask_Jinja2_Flask Sqlalchemy - Fatal编程技术网

将Django与烧瓶一起使用 情况:

将Django与烧瓶一起使用 情况:,django,django-templates,flask,jinja2,flask-sqlalchemy,Django,Django Templates,Flask,Jinja2,Flask Sqlalchemy,我暂时正在考虑使用Django来 提供HTML(通过Django的模板) 提供Django项目中的所有静态文件,如CSS、JS 我使用Django的意图到此为止。javascript文件下载到客户端后,它们使用RESTfulAPI(Ajax方式)与Flask后端通信 为什么有两个框架?为什么会这样? 与我一起工作的这个项目的前端人员非常了解Django,我想我主要想使用他的CSS/HTML模板/jquery技能 我希望有一个独立的API服务器,我觉得Flask是满足我需求的理想选择(从构建AP

我暂时正在考虑使用Django来

  • 提供HTML(通过Django的模板)
  • 提供Django项目中的所有静态文件,如CSS、JS
  • 我使用Django的意图到此为止。javascript文件下载到客户端后,它们使用RESTfulAPI(Ajax方式)与Flask后端通信


    为什么有两个框架?为什么会这样? 与我一起工作的这个项目的前端人员非常了解Django,我想我主要想使用他的CSS/HTML模板/jquery技能

    我希望有一个独立的API服务器,我觉得Flask是满足我需求的理想选择(从构建API服务的角度来看)

    我想人们会建议“为什么不让Django的家伙用Jinga2做模板呢?”(这样,我们就可以不用Django了)我想我现在的答案是:我不想让他投入太多时间(学习)

    我想人们会建议“为什么不使用Django来服务Restful API调用?”(这样,我们就可以不用Flask了)我想我目前的答案是:我(作为实现API逻辑的人)喜欢Flask


    我的问题 简短的一点:这可行吗?或者这听起来是个疯狂的想法

    你能给我一些指导吗


    谢谢,

    如果我是你,我会从设计器中获取Django模板并将其转换为Jinja2,然后100%在Flask中构建应用程序。但是既然你问了

    这可行吗?或者这听起来是个疯狂的想法

    对双方都是:)

    你能给我一些指导吗

    这里有一个简单的方法:

    您编写两个应用程序,一个在Flask中,另一个在Django中。假设您解决了共享数据库或其他资源时遇到的所有问题,现在两个应用程序都在运行,每个应用程序都有自己的web服务器,每个应用程序都在侦听不同端口上的请求

    现在,您将代理web服务器作为前端web服务器与外部世界连接,并根据URL将来自客户端的请求代理到一个或另一个应用程序。您可以使Flask应用程序的所有URL的格式为
    http://hostname/api/...
    ,然后关闭URL中的
    api
    ,以分离代理服务器中的请求,并将它们提供给适当的应用程序


    因为从外部所有请求都指向相同的主机名和端口(代理服务器的主机名和端口),所以跨站点脚本编写不会有任何问题。

    与Jinja和Django模板类似,您确实需要告诉Django开发人员只需使用Jinja即可。您将为这个项目的成功增加更多的复杂性


    没有Django开发人员,只有开发人员

    我参加聚会有点晚了,但我应该帮上忙。根据文档中的介绍,情况如下:

    应用程序调度是组合多个应用程序的过程 WSGI级别上的应用程序。您不仅可以组合烧瓶 将应用程序转换为任何WSGI应用程序以外的更大的应用程序。这 甚至允许您在中运行Django和Flask应用程序 如果你想的话,可以把同一个译员并排翻译


    您可以使用Django使用Django模板创建HTML,并通过Flask提供它们。这是可行的。

    如何确保API服务的安全?我想我的API端点(Flask)应该需要一个令牌,如果客户机提供了正确的用户名/密码,则应该(通过我的Django应用程序)授予该令牌。但是我的客户机(浏览器)如何保存这样的令牌(可以在cookie中设置)?如果您想做一些简单的事情,可以使用HTTP basic auth保护您的API。然后,客户机只需在每个API请求中发送凭据(当然,使用安全HTTP)。再见,谢谢。假设我选择使用Django或Flask(但坚持使用一个)来完成这两项工作。如何保护我的API服务?我想我的API端点(Flask)应该需要一个令牌,如果客户机提供了正确的用户名/密码,则应该(通过我的Django应用程序)授予该令牌。但我的客户端(浏览器)如何保存这样的令牌(可以在cookie中设置)?看起来Django tastypie提供了一个解决方案: