2017-09-16 8 views
0

[ログイン]ボタンをクリックすると、main.pyファイルにPOSTリクエストを送信します。しかし、現在のコードでは、pythonファイルは、login.htmlファイルのフォームからPOST要求が送信されたことを検出しません。ボタンをクリックすると、何も起こりません。私は、/ログインに送信されるPOSTリクエストの場合はprint("post")ラインを設定しましたが、それは何も出力しないフォームからPOSTリクエストを検出できません

はここに私のlogin.htmlとの私の一部だ(私は私の印刷機能が動作し、正しく印刷されてチェックしました)ファイル:
(I:

<div class="container"> 
     <form method="post"> 
      <input placeholder="Username" type="text" class="validate" value="{{ request.form.username }}"> 
      <input placeholder="Password" type="password" class="validate" value="{{ request.form.password }}"> 
      <a type="submit" value=submit class="btn waves-effect waves-teal">Login</a> 
     </form> 
    </div> 

はここに私のmain.pyファイルの一部だ(私は残りのいずれかを示す必要があるとは思わないが、それであれば、私に知らせて)残りのいずれかが表示する必要があるとは思わないが、それが私に知らせてください)

@app.route('/login', methods=['GET', 'POST']) 
def login(): 
if request.method == 'POST': 
    print("post") 
    if (request.form.get('username', None) != None) and (request.form.get('password', None) != None): 
     if request.form[ 'username' ] == "funky" and request.form[ 'password' ] == "passw": 
      session[ 'loggedIn' ] = True 
      session[ 'username' ] = request.form[ 'username' ] 
      dictUser[ request.form[ 'username' ] ] = user("blue") 
      print("hi") 

if session.get('loggedIn', False): 
    return redirect(url_for("index")) 
else: 
    return render_template("login.html") 

「ファンキー」と「passw」の値は、私がテストしている間であり、ポート転送されていないことに注意してください。私はこの問題を修正した後、ユーザー名とパスワードが正しいかどうかをチェックし、データベースを設定します。

事前に:他の投稿があるかどうか確認しましたそれは私の質問に答えるかもしれませんが、私は何も見つけることができません。ある場合は、単にそれらに私を指すと私はあなたの時間を[OK]を

UPDATE
を無駄にするために謝罪、<input><a type="submit" value=submit class="btn waves-effect waves-teal">Login</a>を変更しようとしていると、今のpythonファイルには、POSTリクエストが送信されたことを認識する。 request.form.get("username", None)を実行している場合しかし、それは彼らのそれぞれの入力にNone

UPDATE II
name=usernamename=passwordで追加を返し、それがにアクションを追加request.form.get(stuff)

+0

の値にアクセスすることができないの私の第二の問題を解決しましたフォームアクションを追加していますか? –

+0

ここにログを投稿できますか? – Akash

+0

@Akash何も記録されていません –

答えて

0

更新OK
は、<input><a type="submit" value=submit class="btn waves-effect waves-teal">Login</a>を変更しようとしていると、今のpythonファイルには、POSTリクエストが送信されたことを認識する。 request.form.get("username", None)を実行している場合しかし、それは彼らのそれぞれの入力にname=usernamename=passwordNone

UPDATE II
追加を返し、それはあなたいけないrequest.form.get(stuff)

0

の値にアクセスすることができないの私の第二の問題を解決しましたあなたのフォーム。下記参照。

<form method="post" name="login" action="{{ url_for('login') }}"> 
    <input placeholder="Username" type="text" class="validate" value="{{ request.form.username }}"> 
    <input placeholder="Password" type="password" class="validate" value="{{ request.form.password }}"> 
    <a type="submit" value=submit class="btn waves-effect waves-teal">Login</a> 
</form> 
+0

'name =" login'と 'action = {{url_for( 'login')}}'を追加しようとしましたが、それ以前のものから何も変わりませんでした –

+0

OK、 'Login' ''であり、pythonファイルはPOSTリクエストが送信されたことを認識しますが、 'request.form.get(" username "、None)'を実行すると 'None' –

関連する問題