NameError:未定义名称“app”

时间:2018-05-30 07:57:31

标签: python api flask flask-restful

当我运行app__init__.py得到此错误,但无法理解为什么?我是python和flask的新手,请帮助!

文件结构

app\ resource\
         __init__.py
         rest3_product.py
__init__.py      

app \ __init __。py

from flask import Flask
from flask_restful import Resource, Api

def create_app (config_name='development') :
    app = Flask(__name__)
    api = Api(app)

    from resource.rest3_product import rest3_product

    api.add_resource(plyPosition, "/plyPosition")

    initialize_extensions(app)
    return app

if__name__== '___main___':
    app.run(port=8000, debug = True)

“rest3_product.py”

from flask import Flask

from flask_restful import Api, Resource, reqparse




class plyPosition(Resource):

  def post(self):
     parser = reqparse.RequestParser(bundle_errors= True)

     parser.add_argument("productId", required=True, type= int)
     parser.add_argument("productCatId", required= True, type= int)
     parser.add_argument("measureUniId", required= True, type= int)
     parser.add_argument("productName", required= True, type= str)
     parser.add_argument("length", required= True, type= int)
     parser.add_argument("breadth", required= True, type= int)
     parser.add_argument("height", required= True, type= int)
     parser.add_argument("createdAt", required= True, type= int)
     parser.add_argument("updatedAt", required= True, type= int)

     try:
         args = parser.parse_args()
     except Exception:
         return "Please Check Your Request!!!!!!!!!"

     return args

1 个答案:

答案 0 :(得分:2)

create_app()实例化一个Flask实例,它是你的app。因此,您需要先调用create_app(),将返回的实例存储在变量中,然后使用此变量

if __name__ == '___main___':
    app = create_app()
    app.run(port=8000, debug = True)