HTML-form表单和提交

网络请求

在浏览器的URL中写入地址,点击回车访问时

        浏览器会发送数据过去,本质上发送的是字符串

浏览器向后端发送请求时

GET请求【URL方法/表单提交】

现象:向后台传入数据,数据会拼接在URL上

搜索百度时:

https://cn.bing.com/search?q=百度form=ANNTH1&refig=0005c32289da4afe9c9a61288618e761

POST请求【表单提交】

现象:提交数据不在URL中,而是在请求体中

结合上篇内容做一个简单注册界面 :

Python代码

from flask import Flask,render_template,request

app = Flask(__name__)

@app.route('/register',methods=['GET','POST'])#接受的请求可以是'GET'和'POST'
def register():

    return render_template('register.html')#返回我们写的register.html 界面
#下面两个选一个即可,注册界面一般是选取POST请求
@app.route('/do/re',methods=['GET'])
def do_re():
    #1.接收用户通过GET形式传过来的数据
    user = request.args.get("USER")
    pwd = request.args.get("PWD")
    sex = request.args.get("sex")
    hobby_list = request.args.getlist("hobby")
    city = request.args.get("city")
    skill_list = request.args.getlist("fav")
    more = request.args.get("beizhu")
    print(user,pwd,sex,hobby_list,city,skill_list,more)
    print(request.args)
    #2.返回结果
    return "注册成功"

@app.route('/post/re',methods=['POST','GET'])
def post_re():
    #1.接收用户通过POST形式传过来的数据
    user = request.form.get("USER")
    pwd = request.form.get("PWD")
    sex = request.form.get("sex")
    hobby_list = request.form.getlist("hobby")
    city = request.form.get("city")
    skill_list = request.form.getlist("fav")
    more = request.form.get("beizhu")
    print(user,pwd,sex,hobby_list,city,skill_list,more)
    print(request.form)
    #2.返回结果
    return "注册成功"

if __name__ == '__main__':
    app.run()

 HTML代码

的意思是只能接收post请求,之后跳转到python代码中的/post/re页面



    
    用户注册




用户注册

用户名:
密码:
选择性别:
爱好:羽毛球 听音乐 打游戏 篮球
城市:
擅长领域:
备注:

 以下是效果图:

HTML-form表单和提交_第1张图片

 填完信息后点击submit提交,会返回注册成功

 HTML-form表单和提交_第2张图片

 pycharm里会返回填写的数据

 值得一提的是,Python代码可以简写成这样:

from flask import Flask,render_template,request

app = Flask(__name__)

@app.route('/register',methods=['GET','POST'])
def register():#进行判断,当是get请求时,返回register.html界面
    if request.method == "GET":
        return render_template('register.html')
    else:
        user = request.args.get("USER")
        pwd = request.args.get("PWD")
        sex = request.args.get("sex")
        hobby_list = request.args.getlist("hobby")
        city = request.args.get("city")
        skill_list = request.args.getlist("fav")
        more = request.args.get("beizhu")
        print(user,pwd,sex,hobby_list,city,skill_list,more)
        print(request.args)
    #2.返回结果
    return "注册成功"



if __name__ == '__main__':
    app.run()

总结:

HTML:超文本传输语言

HTML标签与编程语言无关

        java+HTML

        Python+HTML

        php+HTML

        C#+HTML

你可能感兴趣的:(Python,Web开发,html,前端,python)