| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
主代码如下: 
from flask import Flask, render_template,request 
app = Flask(__name__) 
 
 
@app.route("/register") 
def register(): 
    return render_template('info.html') 
 
@app.route("/post_register",methods=['post']) 
def post_register(): 
    print(request.form) 
    return"注册成功" 
 
if __name__ == "__main__": 
    app.run() 
 
html文件如下: 
<head> 
</head> 
<body> 
<h1>欢迎登陆</h1> 
<form method="post" action="/post_register"> 
<div> 
    用户名:<input type="text",name='user'/> 
    密码:<input  type="password",name="pwd"/> 
    性别:<input type="radio" name="gender",value='1'/>男       <input type="radio" name="gender",value='2'/>女 
</div> 
<input type="submit" value="提交" /> 
</form> 
</body> 
 
 
终端显示:ImmutableMultiDict([('gender', 'on')]) 
发现主文件接收的文件不能接收到name和password,而且gender的接受值也不太一样,请问那里出了问题呢?请大佬们指教一下
问题出在HTML文件的输入标签中,您的输入标签的属性之间使用了逗号,而不是空格。 
 
正确的做法应该是用空格隔开属性。此外,input 标签应该是自闭合的,也就是在标签的末尾添加一个斜杠(/)。 
 
将您的HTML文件修改为以下内容: 
 
 
- <head>
 
 - </head>
 
 - <body>
 
 - <h1>欢迎登陆</h1>
 
 - <form method="post" action="/post_register">
 
 - <div>
 
 -     用户名:<input type="text" name='user'/>
 
 -     密码:<input type="password" name="pwd"/>
 
 -     性别:<input type="radio" name="gender" value='1'/>男       <input type="radio" name="gender" value='2'/>女
 
 - </div>
 
 - <input type="submit" value="提交" />
 
 - </form>
 
 - </body>
 
  复制代码 
 
这样修改后,您的终端应该能正确显示用户提交的表单信息。例如,如果用户提交了用户名为"user1",密码为"password1",性别为"1"(男),您的终端将显示: 
 
- ImmutableMultiDict([('user', 'user1'), ('pwd', 'password1'), ('gender', '1')])
 
 
  复制代码 
 
 
 |   
 
 
 
 |