我希望在点击“登录”按钮时将POST请求发送到我的main.py
文件。但是,正如代码当前所示,python文件没有检测到已从login.html
文件的表单发送了POST请求。单击按钮时,没有任何反应。如果POST请求被发送到/ login,我设置了print("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" )
请注意&#34;时髦&#34;和&#34; passw&#34;值只是在我测试时并且没有端口转发。一旦我解决了这个问题(并设置了数据库等),我会正确检查用户名和密码是否正确。
提前:我已查看是否有其他帖子可以回答我的问题,但我找不到任何帖子。如果有,请指出他们,我为浪费你的时间而道歉
更新
好的,尝试将<a type="submit" value=submit class="btn waves-effect waves-teal">Login</a>
更改为<input>
,现在python文件识别出已发送POST请求。但是,在运行request.form.get( "username", None )
时会返回None
更新II
已在name=username
和name=password
中添加到各自的输入中,这解决了我无法访问request.form.get( stuff )
的值的次要问题
答案 0 :(得分: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>
答案 1 :(得分:0)
更新
好的,尝试将<a type="submit" value=submit class="btn waves-effect waves-teal">Login</a>
更改为<input>
,现在python文件识别出已发送POST请求。但是,在运行request.form.get( "username", None )
时会返回None
更新II
已在name=username
和name=password
中添加到各自的输入中,这解决了我无法访问request.form.get( stuff )
的值的次要问题