Браузер (или прокси) отправил запрос, который этот сервер не может понять. KeyError: 'PostTitle' - PullRequest
0 голосов
/ 16 марта 2020

это мой python код:

from flask import Flask , render_template , request , redirect , url_for
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime

app = Flask(__name__)
#Making sql
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///posts.db'
db = SQLAlchemy(app)

class BlogPost(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text, nullable=False)
    author = db.Column(db.String(20), nullable=False, default='N/A')
    date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)

    def __repr__(self):
        return 'Blog Post' + str(self.id)

    ''' You can put mltiue links for the website '''

@app.route("/")
def index():
    return render_template('index.html')

@app.route('/posts', methods=['GET', 'POST'])
def posts():
    if request.method == 'POST':
        PostTitle = request.form['PostTitle']
        PostAuthor = request.form['PostAuthor']
        PostContent = request.form['PostContent']
        NewPost = BlogPost(title=PostTitle,content=PostContent,author=PostAuthor)
        db.session.add(NewPost)
        db.session.commit()
        redirect('/posts')
    else:
        AllPost = BlogPost.query.order_by(BlogPost.id).all()
        return render_template('post.html',posts=AllPost)

, а это мой html код:

<hr>
<h2>Create New Blog Post:</h2>
<form action='/posts' method='POST'>
    Title: <input name='PostTitle' type='text' id='PostTitle'>
    <br>
    Author: <input  name='PostAuthor' type='text' id='PostAuthor'>
    <br>
    Post: <input name='PostContent' type='text' id='PostContent'>
    <br>
    <input type='submit' value='Post'>
</form>
<hr>

, и когда я пытаюсь запустить сервер для тестирования, он Дайте мне эту ошибку: браузер (или прокси) отправил запрос, который этот сервер не может понять. KeyError: 'PostTitle'

что не так в моем коде, кто-нибудь может мне помочь?

...