ModuleNotFoundError:没有名为“ flask.ext”的模块

时间:2018-10-10 08:06:24

标签: python angularjs flask

我已经创建了一个由 node.js 服务的AngularJS应用,现在我被要求从该应用转移到 python flask 。我遇到了一些错误,在搜索后被告知我必须包含 flask.ext.triangle ,但是当我尝试访问 localhost:5000 时,我会收到此错误:

  

flask.cli.NoAppException:导入“服务器”时,出现ImportError   引发:ModuleNotFoundError:没有名为“ flask.ext”的模块

我已经使用pip安装了 flask-triangle 。我的 server.py 是这样的:

from flask import Flask, render_template
from flask.ext.triangle import Triangle

app = Flask(__name__)
Triangle(app)

@app.route('/')
def mainPage():
    return render_template('main.html')

在导入三角形之前,我遇到了有关AngularJS过滤器的错误。所有的路由和实用程序都由AngularJS处理,我只希望flask为我的应用程序提供服务。

1 个答案:

答案 0 :(得分:1)

无法使三角形工作,所以我找到了另一种方法来使事情成真。发现如果将 AngularJS表达式括号更改为其他内容,而您完全忘记了 triangle 页面加载。这是我在 AngularJS app.js 上的配置:

.config(function($interpolateProvider) {
    $interpolateProvider.startSymbol('//').endSymbol('//');
});

现在我要做的就是转到我的 HTML 文件,并将 {{}} 更改为 ////

编辑:

找到了最合适的方法。而不是使用 render_template 并不得不与 Jinja 混为一谈,我使用了 current_app.send_static_file 来提供我的 HTML ,但是没有根本没有问题。我更新的 server.py

from flask import Flask, current_app

app = Flask(__name__)

@app.route('/')
def mainPage():
    return current_app.send_static_file('main.html')

其他所有操作均由 AngularJS 处理,无需配置表达式定界符,而使用内置的 {{}}