【问题标题】:Flask-Restless: manager.create_api() does not return blueprint objectFlask-Restless:manager.create_api() 不返回蓝图对象
【发布时间】:2015-04-18 14:42:34
【问题描述】:

我正在为我的简单 REST 服务使用 Flask-Restless 扩展。现在我想启用 CORS。

根据这篇文章http://flask-restless.readthedocs.org/en/latest/customizing.html我尝试使用以下代码来启用CORS:

import flask
import flask.ext.sqlalchemy
import flask.ext.restless
from flask import Flask

app = Flask(__name__)

app.config['DEBUG'] = True
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:password@localhost/db'
db = flask.ext.sqlalchemy.SQLAlchemy(app)

class Cost(db.Model):
    __tablename__ = 'costs'
    id = db.Column(db.Integer, primary_key = True)
    name = db.Column(db.Unicode, unique = True)
    amount = db.Column(db.Float)
    date = db.Column(db.DateTime)


def add_cors_headers(response):
    response.headers['Access-Control-Allow-Origin'] = '*'
    response.headers['Access-Control-Allow-Credentials'] = 'true'
    return response

db.create_all()
manager = flask.ext.restless.APIManager(app, flask_sqlalchemy_db = db)

blueprint = manager.create_api(Cost)
blueprint.after_request(add_cors_headers)

app.run()

但是blueprint 对象没有after_request 属性。

我做错了什么?

【问题讨论】:

标签: python flask flask-restless


【解决方案1】:

您能否提供有关如何正确使用 CORS 模块的任何信息。遵循文档上的说明并没有解决我的任何问题。

【讨论】:

  • 我导入 CORS 模块 from flask.ext.cors import CORS,接下来我调用 cors = CORS(app, resources={r"/api/*": {"origins": "*"}}) 并将 CORS 标头添加到配置 app.config['CORS_HEADERS'] = 'Content-Type'
猜你喜欢
  • 2014-07-26
  • 2019-04-21
  • 2013-11-03
  • 2015-05-23
  • 1970-01-01
  • 2012-09-14
  • 1970-01-01
  • 2015-05-23
  • 2022-08-08
相关资源
最近更新 更多