Python 404尝试使用烧瓶中的柱时

Python 404尝试使用烧瓶中的柱时,python,flask,Python,Flask,我有一个简单的烧瓶应用程序与此代码 from flask import Flask, redirect, render_template, request, url_for import json app = Flask(__name__) def sortBy(a): return a['score'] def sort(): f=open('/home/davisbanana/mysite/templates/scores.txt', 'r') resList=

我有一个简单的烧瓶应用程序与此代码

from flask import Flask, redirect, render_template, request, url_for
import json

app = Flask(__name__)

def sortBy(a):
    return a['score']

def sort():
    f=open('/home/davisbanana/mysite/templates/scores.txt', 'r')
    resList=json.load(f)
    f.close();
    res = sorted(resList, key=sortBy)
    return res



@app.route("/send", methods=["POST"])
def saveR():
    f=open('/home/davisbanana/mysite/templates/scores.txt', 'r')
    resList=json.load(f)
    f.close();
    resList.append(request.json)
    f=open('/home/davisbanana/mysite/templates/scores.txt', 'w')
    json.dump(resList,f)
    f.close()
    return redirect(url_for('index'))
@app.route("/", methods=["GET"])
def index():
    scores = sort()
    if request.method == "GET":
        return render_template("index.html", scores=scores)
    return redirect(url_for('index'))

即使尝试直接转到post方法(mysite.com/send),它也会返回404,而不是返回405。如果request.method==“post”,请尝试在
保存程序中添加

换句话说,应该是这样的:

def saveR():
    if request.method == "POST":
        f=open('file.json', 'r')
        resList=json.load(f)
        f.close();
        resList.append(request.json)
        f=open('file.json', 'w')
        json.dump(resList,f)
        f.close()
        return redirect(url_for('index'))
让我知道这是否有帮助。

浏览器将(除了
POST
请求之外)尝试发出
GET
请求

只需将
GET
添加到端点的方法中:

@app.route(“/send”,methods=[“POST”,“GET”])
def saveR():
f=打开('/home/davisbanana/mysite/templates/scores.txt',r')
resList=json.load(f)
f、 close();
append(request.json)
f=打开('/home/davisbanana/mysite/templates/scores.txt',w')
json.dump(resList,f)
f、 关闭()
返回重定向(url_for('index'))

更改代码后,它仍然会发出404。请尝试使用
app运行应用程序。运行(debug=True)
,然后它会在访问页面时告诉您错误。请分享错误截图对不起,我是调试新手,我该怎么做?当我将该行添加到我的应用程序时,我不确定如何访问调试信息。只需使用
app.run(debug=True)
执行该应用程序,然后访问您的页面。您将在此处显示错误日志您不需要添加检查以查看请求是否为post请求。顺便说一下,在您的
index()
函数中。。。您应该将
scores=sort()
更改为
scores.sort()
您如何向
send
路线发帖?为什么要从post方法重定向而不是处理响应?当您发出post请求时,您的应用程序会抛出哪些错误?尝试直接进入页面是一个get请求,所以不起作用。我也这么想,但即使添加了get方法,它仍然会将我指向404。否。如果操作正确,post请求不应尝试发出get请求