使用Flask web框架快速搭建一个网站(学习笔记1)

1.快速开发网站

  • 创建一个新项目

使用Flask web框架快速搭建一个网站(学习笔记1)_第1张图片
  • 安装flask

conda install flask
conda list
使用Flask web框架快速搭建一个网站(学习笔记1)_第2张图片
  • 安装成功

  • 新创建一个文件web.py

from flask import Flask

# 实力化对象Flask
app = Flask(__name__)


# 创建了网址/show/info和函数index的对应关系
# 以后用户再浏览器访问/show/info时,网站自动执行函数index
@app.route("/show/info")
def index():
    return "hello world"


if __name__ == "__main__":
    app.run()
使用Flask web框架快速搭建一个网站(学习笔记1)_第3张图片
  • 浏览器输入http://127.0.0.1:5000/show/info就可以看到“hello world"。

  • 关闭这个程序的运行(点击pycharm右上角的红色正方形),这个网站就无法访问停止。

  • 为了让网页更加美观,flask框架支持将标签写入一个文件,并访问。

from flask import Flask, render_template

# 实力化对象Flask
app = Flask(__name__)


# 创建了网址/show/info和函数index的对应关系
# 以后用户再浏览器访问/show/info时,网站自动执行函数index
@app.route("/show/info")
def index()
    # flask内部会自动打开这个文件,读取内容,并将内容返回给用户
    # 默认:去当前项目目录的templates文件夹中找。
    return render_template("index.html")


if __name__ == "__main__":
    app.run()
  • 在当前文件夹中创建一个文件夹templates,再templates目录下再创建一个index.html文件。

  • 再标签下添加

hello world

  • 再次运行web.py文件,"hello world"就变成了加粗加大的一集标题。

2.HTML标签

超文本传输语言(与浏览器搭配)

2.1编码(head)

2.2title(head)

hot & cold

2.3标题

2.4div和span


hello
world
hello world

2.5超链接


百度

查看更多

2.6图片




2.7列表


  • KAI
  • SEULGI
  • JENO
  • KARINA
  1. KAI
  2. SEULGI
  3. JENO
  4. KARINA

2.8表格

ID name age
1111 Tina 20
1112 Jack 21
1111 Jeno 22

2.9input系列









篮球
足球
排球


2.10下拉框


2.11多行文本框



3.网络请求

  • 在浏览器的URL中输入地址,回车,访问

  • 浏览器向后段发送请求时

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

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

  • 比如,在百度中搜索时,就会发送GET请求

  • POST请求【表单提交】

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

  • 比如,进行登录的时候,会发送POST请求

  • 页面上的数据想要提交到后台,需要满足以下条件:

  • form标签必须包裹那些要提交的数据,并且这些标签需要有name属性

  • 提交的方式:method="get"

  • 提交的地址:action="/xxx/xxx/xx"

  • 在form标签里面必须要有submit标签

用户名:
密码:

案例:用户注册

from flask import Flask, render_template, request

app = Flask(__name__)


@app.route('/register', methods=['GET'])
def register():
    return render_template("register.html")


@app.route('/do/reg', methods=['GET'])
def do_register():
    # 1.接收用户通过GET形式发送的数据
    print(request.args)
    # 2.给用户返回结果
    return "注册成功"


@app.route('/post/reg', methods=['POST'])
def post_register():
    # 1.接收用户通过GET形式发送的数据
    print(request.form)
    # 2.给用户返回结果
    return "注册成功"


if __name__ == "__main__":
    app.run()
  • register.html




    
    用户注册


    

【GET】注册

用户名:
密码:

【POST注册】

用户名:
密码:
使用Flask web框架快速搭建一个网站(学习笔记1)_第4张图片
  • 如果使用GET形式的注册,输入好用户名和密码后,点击注册,会显示“注册成功”。上面的URL变为http://127.0.0.1:5000/do/reg?username=123&userpwd=123456

  • 如果使用POST形式的注册,输入好用户名和密码后,点击注册,会显示“注册成功”。上面的URL变为http://127.0.0.1:5000/post/reg

  • 但一般来说,注册时的操作是POST请求


案例:登陆和注册结合

from flask import Flask, render_template, request

app = Flask(__name__)


@app.route('/register', methods=['GET', 'POST'])
def register():
    if request.method == "GET":
        return render_template("register.html")
    else:
        # 1.接收用户通过GET形式发送的数据
        print(request.form)
        username = request.form.get("username")
        userpwd = request.form.get("userpwd")
        sex = request.form.get("sex")
        hobby = request.form.get("hobby")
        city = request.form.get("city")
        notes = request.form.get("notes")
        print(username, userpwd, sex, hobby, city, notes)
        # 2.给用户返回结果
        return "注册成功"


@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == "GET":
        return render_template("login.html")
    else:
        # 1.接收用户通过GET形式发送的数据
        print(request.form)
        username = request.form.get("username")
        userpwd = request.form.get("userpwd")
        print(username, userpwd)
        # 2.给用户返回结果
        return "登陆成功"


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

register.html




    
    用户注册


    

【POST注册】

用户名:
密码:
性别:
爱好: 篮球 足球 排球
城市:
备注:
去登陆

login.html




    
    用户登陆


    

登陆

姓名:
密码:
还没有账号?去注册

4.总结

1.网站请求流程

使用Flask web框架快速搭建一个网站(学习笔记1)_第5张图片

2.HTML标签

h/div/span/a/img/ul/ol/li/table/input/textarea/select/form

你可能感兴趣的:(前端,flask,前端,python)