Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python和Flask:缩进错误:未缩进与任何外部缩进级别不匹配_Python_Flask - Fatal编程技术网

Python和Flask:缩进错误:未缩进与任何外部缩进级别不匹配

Python和Flask:缩进错误:未缩进与任何外部缩进级别不匹配,python,flask,Python,Flask,嗨,我是Python新手,我似乎找不到解决这个问题的方法。我正在使用python和Flask创建一个简单的api来发布和获取带有名称、价格和isbn的产品。在On-the-post方法中,它在第48行“books.insert(0,new_-book)”附近给了我一个问题。错误为:缩进错误:未缩进与任何外部缩进级别不匹配 from flask import Flask, jsonify, request app = Flask(__name__) books =[ {

嗨,我是Python新手,我似乎找不到解决这个问题的方法。我正在使用python和Flask创建一个简单的api来发布和获取带有名称、价格和isbn的产品。在On-the-post方法中,它在第48行“books.insert(0,new_-book)”附近给了我一个问题。错误为:缩进错误:未缩进与任何外部缩进级别不匹配

from flask import Flask, jsonify, request 

app = Flask(__name__)

books =[
    {   
        'name': 'Bill Gates',
        'price': 8.99,
        'isbn': 6546984984965161
    },
    {
        'name': 'Steve Jobs',
        'price': 6.99,
        'isbn': 651468498494698
    }
]

#Get /books/6546984984965161

# post books 
#{
#       "name": "Ana Banana",
#       "price": 6.99,
#       "isbn": 651468498494698
#}

def valid_book_object(book):
    if "isbn" in book and "name" in book and "price" in book:
        return True
    else:
        return False


@app.route('/books', methods=['GET', 'POST'])
def add_book():
    # If request is GET, just return JSON data of books.
    if request.method == 'GET':
        return jsonify({'books': books})
    else:
        # This is part if it is POST request
        request_data = request.get_json()
        if valid_book_object(request_data):
            new_book = {
                "name": request_data['name'],
                "price": request_data['price'],
                "isbn": request_data['isbn']
            }
            books.insert(0, new_book)
            return "True"
        else:
            return "False"


# GET /books/456
@app.route('/books/<int:isbn>')  # second endpoint
def get_book_by_isbn(isbn):
    return_value = {}
    for book in books:
        if book["isbn"] == isbn:
            return_value = {
                'name': book["name"],
                'price': book["price"]
            }
            return jsonify(return_value)
    return 'No book with {} isbn value'.format(isbn)


if __name__ == '__main__':
    app.run(port=5000)enter code here
从烧瓶导入烧瓶,jsonify,请求
app=烧瓶(名称)
书=[
{   
“姓名”:“比尔·盖茨”,
“价格”:8.99,
“isbn”:6546984984965161
},
{
“姓名”:“史蒂夫·乔布斯”,
“价格”:6.99,
“isbn”:651468494698
}
]
#Get/books/6546984984965161
#邮册
#{
#“名称”:“安娜香蕉”,
#“价格”:6.99,
#“isbn”:651468494698
#}
定义有效的书籍对象(书籍):
如果书中有“isbn”,书中有“名称”,书中有“价格”:
返回真值
其他:
返回错误
@app.route('/books',methods=['GET','POST'])
def add_book():
#如果请求是GET,只需返回书籍的JSON数据。
如果request.method==“GET”:
返回jsonify({'books':books})
其他:
#如果是POST请求,则这是一部分
request\u data=request.get\u json()
如果有效的\u书籍\u对象(请求\u数据):
新书={
“名称”:请求_数据['name'],
“价格”:请求_数据[“价格”],
“isbn”:请求_数据['isbn']
}
图书。插入(0,新图书)
返回“True”
其他:
返回“False”
#GET/books/456
@app.route('/books/')#第二个端点
def通过isbn获取图书(isbn):
返回值={}
对于书本中的书本:
如果图书[“isbn”]==isbn:
返回值={
“名称”:书本[“名称”],
“价格”:书[“价格”]
}
返回jsonify(返回值)
返回“没有带{}isbn值的书”。格式(isbn)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app.run(端口=5000)在此处输入代码

将升华文本设置为使用制表符进行缩进:查看-->缩进-->将缩进转换为制表符

这是否回答了您的问题?是的,我已将升华文本设置为使用制表符进行缩进:查看-->缩进-->将缩进转换为制表符谢谢