2017-05-31 21 views
0

すべてのパスワードを保存するデータベースを作成したいと思います。私はこのチュートリアルに従いましたが、私が彼らと同じように作ったときにはうまくいきましたが、今では私自身のデータベースを作りたいと思っています。私はすでに実際にデータベースを作成しており、それは正しい表を表示し、 "describe(tablename)"も機能しますが、* from(tablename)を選択するとEmpty set(0.00 sec)が返されます。つまり、何も保存されていませんが、私は自分のウェブサイトにパスワードを投稿しました。Pythonanywhere [Flask] - MySQLデータベースの作成

これはflask_app.pyコードです:

from flask import Flask, render_template, request, redirect 
from flask.ext.sqlalchemy import SQLAlchemy 

app = Flask(__name__) 
app.config["DEBUG"] = True 

SQLALCHEMY_DATABASE_URI = "mysql+mysqlconnector://{username}:{password}@{hostname}/{databasename}".format(
    username="*******", //I filled these in 
    password="*******", 
    hostname="*******.mysql.pythonanywhere-services.com", 
    databasename="******$wachtwoorden", 
) 
app.config["SQLALCHEMY_DATABASE_URI"] = SQLALCHEMY_DATABASE_URI 
app.config["SQLALCHEMY_POOL_RECYCLE"] = 299 
db = SQLAlchemy(app) 

class Wachtwoord(db.Model): 

    __tablename__ = "wachtwoorden" 

    id = db.Column(db.Integer, primary_key=True) 
    content = db.Column(db.String(80)) 

@app.route("/", methods=["GET", "POST"]) 

def main(): 

    if request.method == "GET": 
     print("in request.method = get") 
     return render_template("main_page.html") 

    if (request.form["Knop1"] == "1912"): 
     print ('Het wachtwoord is geraden:', request.form["Knop1"]) 
     return redirect("http://tegelizr.nl/tegeltjes/dat-klopt-als-een-bus.png") 

    else: 
     print ('Iemand heeft een het wachtwoord geraden:', request.form["Knop1"]) 
     return render_template("main_page.html") 

    wachtwoord = Wachtwoord(content=request.form["Knop1"]) 
    db.session.add(wachtwoord) 
    db.session.commit() 

これは私のmain_page.htmlである

<form method="POST"> 
    <p> 
     <center> 
      <br><br><br><h2>Wat is het wachtwoord?</h2><input type="text" name="Knop1" value = "" /> 
      <br><br><input type="image" src="http://www.kryshiggins.com/wordpress/wp-content/themes/KrystalsNewMergedThemeOMG/Krys_Images/Next_Arrow.png" alt="Submit" width="30" height="30"><br><br><br> 
     </center> 
    </form> 

は、どのように私はパスワードが正しい方法を格納していますか? 申し訳ありませんが、wachtwoordはパスワードを意味します。ああ、ちょっと混乱するかもしれません。ちょうど1912年の正しいパスワードを与えなければならないので、なぜ試行されたパスワードを保存したいのですか?まあ、それは私のための単なるテストであり、これがうまくいくなら私は将来どのように行うのか知っています。

ありがとうございました。

答えて

0

データベースの挿入を呼び出す前に、テンプレートをレンダリングして戻ります。これを試してみてください:

def main(): 

    if request.method == "GET": 
     print("in request.method = get") 
     return render_template("main_page.html") 

    if (request.form["Knop1"] == "1912"): 
     print ('Het wachtwoord is geraden:', request.form["Knop1"]) 
     wachtwoord = Wachtwoord(content=request.form["Knop1"]) 
     db.session.add(wachtwoord) 
     db.session.commit() 
     return redirect("http://tegelizr.nl/tegeltjes/dat-klopt-als-een-bus.png") 

    else: 
     print ('Iemand heeft een het wachtwoord geraden:', request.form["Knop1"]) 
     return render_template("main_page.html") 
+0

おかげで多くのことを、それは私が誰かの名前が含まれている別のテキスト入力を、追加したい場合はどのような:) – Jip1912

+0

リトル質問を、動作します。これはrequest.form ["Knop2"]です。どうすれば私のデータベースに "request.form [" Knop2 "]:request.form [" Knop1 "]"、つまり "Name:Password"のようにデータベースを保存するのですか? – Jip1912

+0

@ Jip1912このリンク:http://docs.sqlalchemy.org/en/latest/orm/tutorial.html。 SQLAlchemyを使用して知っておく必要があるすべての基本を提供します。もう少し包括的であるこのサイトを見ることもできます:http://www.rmunn.com/sqlalchemy-tutorial/tutorial.html – CodeLikeBeaker

関連する問題