【问题标题】:Can I return an object of some class from Flask?我可以从 Flask 返回某个类的对象吗?
【发布时间】:2015-03-11 06:30:57
【问题描述】:

我正在使用 flask.ext.restful api 并为一个对象点击 API。

我有一个 X 班。 我创建了该类的一个对象。 现在我想将此对象返回给 jQuery 请求。

object_of_x=X()
print object_of_x  # output -> <X instance at 0x3602cb0>
return object_of_x

它给了我一个错误。 当我做render_template('x.html',x=object_of_x)时它工作正常@

有没有办法使用 Flask 或 flask.ext.restful 返回某个类的实例?

【问题讨论】:

    标签: python flask flask-restful


    【解决方案1】:

    要走的路是将对象序列化为 JSON 字符串或 XML,然后返回。在客户端只需根据接收到的字符串创建一个 JS 对象。

    【讨论】:

      【解决方案2】:

      取决于您要返回的内容...您可以在您的类上定义 __dict__ 方法,然后在您的路线中使用 return jsonify(x.__dict__)

      >>> class X(object):
      ...   def __init__(self, thing1, thing2):
      ...     self.thing1 = thing1
      ...     self.thing2 = thing2
      >>> x = X("hey", "listen")
      >>> from json import dumps as jsonstring
      >>> jsonstring(x.__dict__)
      '{"thing2": "listen", "thing1": "hey"}'
      

      【讨论】:

      • 是的。我明白那个。但问题是我拥有的类有一个其他类的对象列表。例如:class X(): list=[list oF Class Y] 所以 dict 不起作用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-18
      • 2019-11-07
      • 1970-01-01
      • 2018-06-06
      • 1970-01-01
      • 2013-11-03
      相关资源
      最近更新 更多