Python中的Flask基础入门(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunshunli/article/details/83277647

第一部分是过滤器

这是我们的py文件

#1.导入Flask扩展.
from flask import Flask#导入我们的Flask框架
from flask import render_template#我们的返回值有两种,如果要返回html,就需要导入这个模块
#2.创建Flask应用程序实例,需要传入_name_,作用是为了确定资源所在的路径
app = Flask(__name__)

#3.确定路由及其视图函数,@app为装饰器
#Flask中定义路由是通过装饰器实现的,装饰器下面紧跟着我们定义的函数
#路由默认值只支持GET,如果想要其他的方法,那么就添加method方法
@app.route('/',methods=['GET','POST'])
#这种是返回的字符串内容
def hello_world():
    return 'Hello World!'
#这是返回HTML内容
@app.route('/login.html')
def login():
    url_str='www.baidu.com'
    url_list=[1,2,3,4,5]
    #通常,我们模板中(模板就是我们的html文件)使用的变量名和要传递的数据名是一样的
    return render_template('login.html',url_str=url_str,url_list=url_list)
#下面来实现使用一个视图函数u,来实现不同的订单信息,order_id默认的是字符串,如果想要特性的格式,那么
#可以在前面加上类型
@app.route('/order/<int:order_id>')
def get_order_id(order_id):
    return 'order_id is %s' %order_id
#4.启动程序
if __name__ == '__main__':
    #执行app.run就会将我们的Flask程序运行在一个简单的服务器上(服务器有Flask提供,用于测试)
    app.run()

 我们的html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{#过滤器,字符串大小写转换#}
{{ url_str | upper}}<br>
{#过滤器,字符串大小写转换#}
{{ url_str | lower}}<br>
{#过滤器,字符串中每个单词的首字母大写#}
{{ url_str|title}}
{#过滤器,字符串翻转#}
{{ url_str | reverse}}<br>
{#过滤器的链式调用#}
{{ url_str|upper|lower}}<br>
<hr>
{#下面是列表的操作。第一个元素,最后一个元素,长度,求和,排序#}
<p>{{ url_list|first}}</p>
<p>{{ url_list|last}}</p>
<p>{{ url_list|length}}</p>
<p>{{ url_list|sum}}</p>
<p>{{ url_list|sort}}</p>



</body>
</html>

第二部分是我们的表单验证

from flask import Flask,request,render_template,flash
'''
在程序中如果想要给模板传递消息,模板就是我们的网页,就要用到flash(flash是需要加密的)来传递,那么网页如何接受我们的
消息呢,,需要遍历
'''

app = Flask(__name__)
app.secret_key='sun'

@app.route('/',methods=['GET','POST'])
def login_html():
    #request是我们的请求对象
        #1.request来获取我们的请求方法
    if request.method == 'POST':
        #2.request获取表单中的值
        username = request.form.get('username')
        password = request.form.get('password')
        acknowledge = request.form.get('acknowledge')
        if not all([username,password,acknowledge]):
            # print('请填完整内容')
            flash('请填完整内容')#如果要执行这条语句,那么就会加密,把我们的上面加密的部分字符串加入到这里面
        elif password!=acknowledge:
            # print("两次密码不一致")
            flash('两次密码不一致')
        else:
            return 'success'
    return render_template('login.html')
if __name__ == '__main__':
    app.run(debug=True)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录界面</title>
</head>
<body>
<form method="post">
    <lable>用户名:</lable><input type="text" name="username"><br>
    <lable>密码:</lable><input type="text" name="password"><br>
    <lable>确认密码:</lable><input type="text" name="acknowledge"><br>
    <input type="submit" value="提交"><br>
{#使用遍历获取闪现的消息#}
    {% for message in get_flashed_messages() %}
        {{message}}
    {% endfor %}

</form>
</body>
</html>














</html>

上面就是我们的表单的验证,是通过我们自己写的html来实心的,大家如果有兴趣可以使用WTFfroms扩展实现。

猜你喜欢

转载自blog.csdn.net/sunshunli/article/details/83277647