gpt4 book ai didi

python - 在 Angular 中使用 Flask Restful Google App Engine

转载 作者:太空狗 更新时间:2023-10-29 18:27:36 26 4
gpt4 key购买 nike

我想嫁给这个angular python project还有这个restful flask project .

目录

- /app
- css/app.css
- js/app.js
- index.html
- app.yaml
- main.py
- appengine_config.py
- vendor.py
- requirements.txt

app.yaml

application: your-application-id-here
version: 1
runtime: python37
api_version: 1
threadsafe: yes

handlers:
- url: /rest/.*
script: main.APP

- url: /(.+)
static_files: app/\1
upload: app/.*

- url: /
static_files: app/index.html
upload: app/index.html

main.py

from flask import Flask
from flask.ext import restful


APP = Flask(__name__)
api = restful.Api(APP)


class HelloWorld(restful.Resource):
def get(self):
return {'hello': 'world'}


api.add_resource(HelloWorld, '/rest/query/')


@app.errorhandler(404)
def page_not_found(e):
"""Return a custom 404 error."""
return 'Sorry, Nothing at this URL.', 404


@app.errorhandler(500)
def page_not_found(e):
"""Return a custom 500 error."""
return 'Sorry, unexpected error: {}'.format(e), 500

app/ 文件夹中的所有内容与 python angular 项目完全相同。

如果我从 app.yaml 中注释掉以下内容,我可以访问 /rest/query 并获得预期的输出。

- url: /(.+)
static_files: app/\1
upload: app/.*

- url: /
static_files: app/index.html
upload: app/index.html

但是,当它没有被注释掉时,我得到一个 404 for /rest/query。在 / 处,我可以看到加载了 Angular Hook 的静态 index.html 页面。没有数据被填充,因为 app.js 无法查询 /rest/query

我如何设置一个使用 Angular 的 GAE Flask restful 项目?

最佳答案

我不太喜欢这种解决方法,但我将路由从 app.yaml 移到了 main.py

main.py

from flask import Flask, render_template
from flask.ext import restful


class HelloWorld(restful.Resource):
def get(self):
return {'hello': 'world'}


app = Flask(__name__)
api = restful.Api(app)
api.add_resource(HelloWorld, '/rest/query')


@app.route('/')
def root():
return render_template('index.html')


@app.errorhandler(404)
def page_not_found(e):
"""Return a custom 404 error."""
return 'Sorry, Nothing at this URL.', 404


@app.errorhandler(500)
def page_not_found(e):
"""Return a custom 500 error."""
return 'Sorry, unexpected error: {}'.format(e), 500

app.yaml

application: application-id-here
version: 1
runtime: python37
api_version: 1
threadsafe: yes

handlers:
- url: /static
static_dir: static

- url: /.*
script: main.app

目录

- /static
- css/app.css
- js/app.js
- partials/...
- /templates/index.html
- app.yaml
- main.py
- appengine_config.py
- vendor.py
- requirements.txt

关于python - 在 Angular 中使用 Flask Restful Google App Engine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56677512/

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