gpt4 book ai didi

python - Flask 未检测到来自表单的 POST 请求

转载 作者:行者123 更新时间:2023-12-05 07:40:19 25 4
gpt4 key购买 nike

我想将 POST 请求发送到我的 main.py单击登录按钮时的文件。但是,正如当前的代码一样,python 文件未检测到已从 login.html 发送了 POST 请求。文件的形式。单击按钮时,什么也没有发生。我设置了 print("post")将 POST 请求发送到/login 的行,但它不打印任何内容(我检查过我的打印功能正常工作并打印正常)

这是我的 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" )

请注意,“funky”和“passw”值只是在我进行测试时没有端口转发。一旦我解决了这个问题(并设置了数据库等),我将添加一个适当的检查来检查用户名和密码是否正确。

提前:我已经检查过是否有任何其他帖子可以回答我的问题,但我找不到。如果有,请将它们指向我,对于浪费您的时间,我深表歉意

更新
好的,已尝试更改 <a type="submit" value=submit class="btn waves-effect waves-teal">Login</a><input>现在 python 文件识别出已发送 POST 请求。然而,当运行 request.form.get( "username", None )它返回 None

更新二
添加于 name=usernamename=password到他们各自的输入,这解决了我无法访问 request.form.get( stuff ) 值的次要问题

最佳答案

向表单添加操作。见下文。

<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>

关于python - Flask 未检测到来自表单的 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46257630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com