2017-09-16 107 views
0

我想在單擊登錄按鈕時將POST請求發送到我的main.py文件。但是,由於當前的代碼,python文件沒有檢測到從login.html文件的表單發送POST請求。當按鈕被點擊時,沒有任何反應。我給自己定在一個POST請求的情況下,print("post")線被髮送到/登錄,但不打印輸出(我檢查我的打印功能是否工作,正常打印)Flask沒有檢測到來自表單的POST請求

這裏是我的我的login.html的一部分文件:
(我不相信任何剩下的就是要證明,但如果是這樣,讓我知道)

<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」值僅爲而我測試,並沒有端口轉發。一旦我解決了這個問題(並設置了數據庫等),我將添加一個適當的檢查用戶名和密碼是否正確

提前:我已檢查是否有任何其他帖子這可能回答我的問題,但我找不到任何。如果有,就點我到他們,我浪費你的時間

UPDATE
好道歉,試圖改變<a type="submit" value=submit class="btn waves-effect waves-teal">Login</a><input>現在蟒蛇文件承認,POST請求已發送。但是,運行request.form.get("username", None)當它返回None

UPDATE II
添加在name=usernamename=password各自的投入和解決不能訪問的request.form.get(stuff)

+0

你不應該添加表單動作? –

+0

你可以在這裏發佈日誌嗎? – Akash

+0

@Akash什麼都沒有記錄 –

回答

0

UPDATE
好吧,試圖改變<a type="submit" value=submit class="btn waves-effect waves-teal">Login</a><input>現在蟒蛇文件承認,POST請求已發送。但是,運行request.form.get("username", None)當它在name=usernamename=password各自的輸入返回None

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

我只是想adding' NAME =「login'和'行動= {{url_for(‘登錄’)}}'但沒有從它是如何 –

+0

確定之前發生變化,試圖改變了''Login到一個''現在蟒蛇文件承認一個POST請求已發送。但是,在運行'request.form.get(「用戶名」,無),當它''返回None' –