2017-08-25 6 views
0

非常に単純なユーザーログインシステムをデータベースなしで構築しましたが、リダイレクトは再び問題になります。Python Flaskユーザーログインのリダイレクト

@app.route("/", methods=['GET', 'POST']) 
def login_page(): 
    if request.method == 'POST': 
     attempted_username = request.form['username'] 
     attempted_password = request.form['password'] 

     if attempted_username == 'admin' and attempted_password == 'password': 
      return redirect(url_for('index')) 
     else: 
      error='E-Mail or Password not available' 
    return render_template('login.html', error=error) 

今すぐURLは以下のものとなる::htmlファイルから送信されたユーザ名&パスワードが正しい場合、Pythonは、次のことやっているshost/indexをとChromeは、

ERR_NAME_NOT_RESOLVED 
The DNS address of the shost server couldnt be found. 

なぜISNを私に語りましたURLはserver_IP/indexになります。 127.0.0.1/index、これは私のブラウザで動作するためです。どのようにフラスコの問題を防ぐことができますshost?ここで

は、ログイン用のHTML形式のコードです:

<form class="text-left" method="post" action=""> 
    <input class="mb0" type="text" placeholder="Username" name="username" value="{{request.form.username}}"/> 
    <input class="mb0" type="password" placeholder="Password" name="password" value="{{request.form.password}}"/> 
    <input type="submit" value="Login"/> 
</form> 

次のようにコードの@app.route("/index")部分が見えます:それはdoesnの

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

多くの感謝とよろしく

+0

残りの 'login_page'と' index'ルートを含めてください。 –

+0

@ edgaromar90フィードバックに感謝します。私はフォームコードを追加しました。 – saitam

+0

私はあなたの問題が何であるか知っていると思います。あなたのコードの '@app.route("/index ")'セクションを見てみましょう。 –

答えて

0

あなたがログイン用のページをレンダリングしているように見えません。POSTが使用されている場合はインデックスページを生成するようにpythonに伝えますが、フォームは共同していないためPOSTは使用されていませんまだ満ち足りた。さらにリターンリダイレクト(url_for( 'index'))では、 'app'を追加する必要があります。 。

このようなものを試してみてください。

@app.route('/', methods=['GET', 'POST']) 
def login(): 
    if request.method == 'POST': 
     attempted_username = request.form['username'] 
     attempted_password = request.form['password'] 

     if attempted_username == 'admin' and attempted_password == 'password': 
      return redirect(url_for('app.index')) 

    return render_template('loginpage.html') 
+0

投稿を編集しました。私はリダンダリングを使用しています – saitam

関連する問題