Python 赋值前引用的局部变量“post”-flask

Python 赋值前引用的局部变量“post”-flask,python,flask,Python,Flask,我试图用Flask创建一个post请求,但一直出现这样的错误:赋值前引用了局部变量“post”。我见过很多这样的问题,但我似乎找不到正确的答案。这可能是个容易犯的错误,但我对烧瓶还不熟悉。谢谢 from flask import Flask, request, url_for from flask import redirect, jsonify from db.db import BlogPost from db import db application = Flask(__name__)

我试图用Flask创建一个post请求,但一直出现这样的错误:赋值前引用了局部变量“post”。我见过很多这样的问题,但我似乎找不到正确的答案。这可能是个容易犯的错误,但我对烧瓶还不熟悉。谢谢

from flask import Flask, request, url_for
from flask import redirect, jsonify
from db.db import BlogPost
from db import db

application = Flask(__name__)

db.init()

@application.route('/')
def apiRedirect():
    return redirect('/blogs')

@application.route('/blogs')
def getBlogs():
    blogs = BlogPost.objects()

    blogsarr = []
    for blog in blogs:
        blogsarr.append(blog.to_mongo())    

    return jsonify(blogsarr)

@application.route('/blogs/create', methods=['GET','POST'])
def createBlog():
    if request.method == 'POST':
        author = request.form['author']
        date = request.form['date']
        content = request.form['content']

        post = BlogPost(author=author, date=date,content=content)
        post.save()
        return "Posted"

    return jsonify(post.author, post.date, post.content)
在createBlog方法中,仅当request.method==“post”时,才会创建post对象。但是当方法是GET时,它将不会被创建。因此,您将点击赋值前引用的错误局部变量“post”

,当他创建post对象时,他不会返回它,因为他会返回post。