私はプログラミングが初めてでpythonanywhere.comのコメントセクションを持つ小さなウェブサイトをセットアップして、チュートリアルを大々的に中継しています。しかし、フォームにコメントを投稿すると、コメントはデータベースに追加されず、何らかの理由でプログラムがインデックスページにリダイレクトされます(同じページにとどまるようにリダイレクトされます)PythonフラスコのアプリケーションでSQLデータベースにコメントを追加できません
私が間違っていることは、大いに感謝されるでしょう!
pyhthonコード:
import random
from flask import Flask, request, session, redirect, url_for, render_template, flash
from flask.ext.sqlalchemy import SQLAlchemy
from werkzeug.routing import RequestRedirect
app = Flask(__name__)
app.config["DEBUG"] = True
SQLALCHEMY_DATABASE_URI = "mysql+mysqlconnector://{username}:{password}@{hostname}/{databasename}".format(
username="username",
password="password",
hostname="hostname",
databasename="majaokholm$majaokholm",
)
app.config["SQLALCHEMY_DATABASE_URI"] = SQLALCHEMY_DATABASE_URI
app.config["SQLALCHEMY_POOL_RECYCLE"] = 299
db = SQLAlchemy(app)
class Comment(db.Model):
__tablename__ = "comments"
id = db.Column(db.Integer, primary_key=True)
content = db.Column(db.String(4096))
@app.route("/")
def index():
return render_template("index_page.html")
@app.route('/post', methods=["GET", "POST"])
def post():
if request.method == "GET":
return render_template("post_page.html", comments=Comment.query.all())
comment = Comment(content=request.form["contents"])
db.session.add(comment)
db.session.commit()
return redirect(url_for('post'))
とHTMLテンプレートからフォーム:事前に
<form action="." method="POST">
<textarea class="form-control" name="contents" placeholder="Enter a
comment"></textarea>
<input type="submit" value="Post comment">
</form>
どうもありがとう!
PSを使用することができます。資格情報に注意してください... – plaes
ちょっと!!!あなたはデータベースの資格情報を明らかにしています。私はあなたのユーザー名とパスワードを見ることができます。 – Adeola