gpt4 book ai didi

python - static_url_path和变量规则

转载 作者:太空宇宙 更新时间:2023-11-03 18:08:11 25 4
gpt4 key购买 nike

Variable rules static_url_path 时没有像我预期的那样工作已使用。

简单来说,为什么会这样:

import flask

app = flask.Flask(__name__)

@app.route("/", defaults={"p": "")
@app.route("/<path:p>")
def main(p):
return "<h1>Hello %s</h1>" % p


if __name__ == '__main__':
app.run(debug=True)

但不是这个?

import flask

app = flask.Flask(__name__, static_url_path="")

@app.route("/", defaults={"p": "")
@app.route("/<path:p>")
def main(p):
return "<h1>Hello %s</h1>" % p


if __name__ == '__main__':
app.run(debug=True)

Note the added static_url_path

一些背景细节;我对 Flask 和 AngularJS 都很陌生,但在这里将它们结合使用,对于那些不熟悉 AngularJS 的人来说;我正在使用 AngularJS 生成一个单页面应用程序,其中路径用于动态替换文档中的内容,而不是重新加载整个页面。因此,我需要将所有路径路由到同一个 html 文档(不包括在上面的示例中),最好来自同一个函数,以便让 AngularJS 处理渲染而不是 Flask。

下面的答案解决了这个问题,但在使用 status_url_path 时它不起作用,我不明白为什么。

Flask route for AngularJS with HTML5 URL mode

添加此内容以供引用,因为他正在做这件事。

http://www.youtube.com/watch?v=2geC50roans

最佳答案

您实际上是在告诉 Flask 映射 /<path:static_path>到静态文件。这意味着一切现在都被认为是静态的。不要这样做!

Angular 页面不需要调用 Flask 静态路由;将静态路由保存在/static下,有/生成 Angular 应用程序,然后使用其他路由来处理 Angular AJAX 调用。这些可以有正确的路径; Angular 并不规定 Flask 服务器将响应哪些路由。

然后保留静态路由来提供 JavaScript、CSS 和图像,例如从 HTML 页面引用的实际静态内容。

关于python - static_url_path和变量规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26466056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com