我想在單擊登錄按鈕時將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=username
和name=password
各自的投入和解決不能訪問的request.form.get(stuff)
你不應該添加表單動作? –
你可以在這裏發佈日誌嗎? – Akash
@Akash什麼都沒有記錄 –