Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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 API:在服务器上找不到请求的URL。如果您手动输入URL,请检查拼写并重试_Python_Api_Flask_Virtual Environment - Fatal编程技术网

Python Flask API:在服务器上找不到请求的URL。如果您手动输入URL,请检查拼写并重试

Python Flask API:在服务器上找不到请求的URL。如果您手动输入URL,请检查拼写并重试,python,api,flask,virtual-environment,Python,Api,Flask,Virtual Environment,我只是用python创建api的初学者,我试图创建一个api来获取数据和发布数据 但当我运行代码时,它给出了错误: 如果代码中有错误或虚拟环境有问题,请告诉我。如果能提供解决方案,我们将不胜感激。试试看”http://127.0.0.1:5000/get-数据“ 它几乎服务于你的数据。 您还没有自动路由到get方法。您能显示添加的url吗?同时也消除了url声明和函数定义之间的差距非常感谢,这确实有效!另外,请告诉我如何自动路由到get方法。A)在一个基本页面上,您可以将“/get da

我只是用python创建api的初学者,我试图创建一个api来获取数据和发布数据

但当我运行代码时,它给出了错误:

如果代码中有错误或虚拟环境有问题,请告诉我。如果能提供解决方案,我们将不胜感激。

试试看”http://127.0.0.1:5000/get-数据“

  • 它几乎服务于你的数据。

您还没有自动路由到get方法。

您能显示添加的url吗?同时也消除了url声明和函数定义之间的差距非常感谢,这确实有效!另外,请告诉我如何自动路由到get方法。A)在一个基本页面上,您可以将“/get data”保留为一部分,Web服务器知道如何检查html请求的类型,只要每种类型只有一个。。。或者:b)你可以使用从基本url到初始url的重定向(通过html),c)有更聪明的方法来实现这个结果。(我还不是专业人士,但堆栈溢出也会有一个很好的答案:)实际上自动路由做了一些与我想象的不同的事情,但了解这一点以及装饰器的使用可能会很有用…:
from flask import Flask, jsonify, request

app = Flask(__name__)
tasks = [
    {
        "id":1,
        "title":"You buy groceries",
        "description":"Milk, Cheeses, Pizza",
        "done":False,
    },
    {
        "id":2,
        "title":"Learn Python",
        "description":"The most important language in the world",
        "done":False,
    },
]

@app.route('/add-data', methods = ['POST'])

def add_data():
    if not request.json:
        return jsonify({
            "status":"error",
            "message":"Please provide the data"
        },400)
    task = {        
        "id":tasks[-1][id]+1,
        "title":request.json["title"],
        "description":request.json.get("description",""),
        "done":False,
    }
    tasks.append(task)
    return jsonify({
        "status":"success",
        "message":"Task added successfully!"
    })

@app.route("/get-data")

def get_task():
    return jsonify({
        "data":tasks
    })

if __name__ == "__main__":
    app.run(debug=True)