输出字段
对于一个视图函数,你可以指定好一些字段用于返回。以后可以使用ORM模型或者自定义的模型的时候,他会自动的获取模型中的相应的字段,生成json数据,然后再返回给客户端。这其中需要导入flask_restful.marshal_with装饰器。并且需要写一个字典,来只是需要返回的字段,以及该字段的数据类型。
from flask import Flask
from flask_restful import Api,Resource,fields,marshal_with #导入fields库,导入marshal_with装饰器
app = Flask(__name__)
api = Api(app) #以后的开发几乎都用这种模式 Api
class ArticleView(Resource):
#定义存储数据的字典
resource_fields = {
'title': fields.String, #fields.数据类型
'content': fields.String
}
@marshal_with(resource_fields)
def get(self):
return {'title':'python'} # 修改title数据
api.add_resource(ArticleView,'/article/',endpoint = 'article')
if __name__ =='__main__':
app.run(debug=True)
没有添加值则返回null,但是一般我们不会这么传值,一般都是去查询数据库,然后把数据返回出来
我们构建一个基本的项目框架
models.py文件
models.py文件,模块文件
from exts import db
from sqlalchemy import ForeignKey
# User对Article是一对多
# Article对Tag是多对多
# article_tag_table是中间表,多对多需要中间表
class User(db.Model):
__tablename__ = 'user'
id = db.Column(db.Integer,primary_key = True,autoincrement=True)
username = db.Column(db.String(50))
email = db.Column(db.String(50))
#中间表
article_tag_table = db.Table(
'article_tag&