2022.11.19 flask学习笔记

2022.11.19

知识点:
1.redirect(url_for("home"))重定向函数,d可以用来作为简单的判断,如果符合条件就重定向到合适的函数
2.重定向的函数如果要带参数,return redirect(url_for("user",name="admin"))
3.render_template("home.html")用来渲染html页面,html文件放在templates文件夹下面
4.向html中传递值,
py代码:

@app.route('/')
def home(name):
    return render_template("home.html",content=name)


html代码:  
 

 

{{content}}

content是变量值,叫啥都可以

5.在html中执行py代码
html文件:

{% for x in range(0,10) %}
        {% if x % 2 == 0 %}
            

x

{% endif %} {% endfor %}


x不会改变,意味着其实是取不到x的值的
这样改变:

{% for x in range(0,10) %}
        {% if x % 2 == 0 %}
            

{{x}}

{% endif %} {% endfor %}


将x放在{{}}中将解释为变量而非实际文本
传递过来的值甚至可以是数组,用来遍历6.html文件的模板继承
可以使用
base(要被继承的html文件)
{% block content %}{% endblock %}
代码:




    
    {% block title %}{% endblock %}


    

czy website

{% block content %} {% endblock %}

home(继承的html文件)
 

{% extends "base.html" %}
{% block content %}Home pages{% endblock %}
代码:{% extends "base.html" %}
{% block title %}Home pages{% endblock %}
{% block content %}

Test

{% endblock %}

7.应用bootstarps模板
https://getbootstrap.com/docs/5.2/getting-started/introduction/

8.POST表单提交
py代码:
 

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

html代码:

Name:

这样只是简单的做出了拥有提交按钮的页面,如果要发起实际a操作,要看下面
py代码:

@app.route('/login',methods = ["POST","GET"])
def login():
    #如果获取到是正确的提交信息,转入用户页面
    if request.method == "POST":
        #nm是form代码中获取输入值的提示框名称
        user = request.form["nm"]
        return redirect(url_for("usr",usrs=user))
    else:
        return render_template("login.html")

form表单在py代码中会以列表的形式表示出来,可以用健的方式获取到它的值

8.使用会话保持我们的用户名
import session
#半永久会话,保持五天,也可以改成minutes=5,五分钟
app.permanent_session_lifetime = timedelta(days=5)

问题
1.使用127.0.0.1:5000有可能会因为端口冲突而无法正常使用路由的问题,很简单,将端口号改一下就好,改一个不会冲突到的端口
app.run(port=3389,debug=True)
2.redirect(url_for("user",name="admin")
name=不能将值设置为与实际s的函数名称相同的值,否则会报无限重定向的错

总结:
1.创建一个flask应用

        1.最基础的flaskweb

        2.重定向和获取url中的名称并在页面中输出

2.引入html模板

        1.引入html文件,在页面中显示

        2.py数值传入html文件中并在页面上显示

        3.在html文件中执行py代码

3.使用html模板继承和bootstraps

        1.定义基础被继承html文件,在其中引入bookstrats,并使用

        2.在继承html文件中书写代码显示在页面中

4.使用post请求

        1.在py代码中使用post请求

        2.在html代码中实现对于py代码的表单

        3.py代码接受html传来的值

5.sessions会话

        1.使用session保存接受到的值,使得在一个会话的时间内都不用重新登录

        2.清除seesion信息以及长期保存session的内容

你可能感兴趣的:(flask,学习,python)