IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 【网站开发之再战flask】俩小时快速系统学习flask框架 -> 正文阅读

[Python知识库]【网站开发之再战flask】俩小时快速系统学习flask框架

快速复习上手路线

轻量级 后端框架
1.flask 路由 用来匹配url
2.request对象 abort函数
3.模板
4.flask数据库
6.表单
7.ajax

一,你好,上进小菜猪

from flask import Flask

app=Flask(__name__)

@app.route('/')
def index():
    return '上进小菜猪'

app.run()

from flask import Flask

app=Flask(__name__)

@app.route('/')
def index():
    return '<h1>上进小菜猪</h1>'

app.run()

二,路由

from flask import Flask
app = Flask(__name__)

@app.route('/hi',methods=['POST'])
def hi():
    return '你好'

@app.route('/hello',methods=['GET','POST'])
def hello():
    return '上进小菜猪'

if __name__ == '__main__':
    app.run()
from flask import Flask
app = Flask(__name__)

@app.route('/hello',methods=['GET','POST'],endpoint='hello')
def hi():
    return '你好'

@app.route('/hi',methods=['GET','POST'],endpoint='hi')
def hello():
    return '上进小菜猪'

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

三,路由变量名

from flask import Flask
app = Flask(__name__)

# @app.route('/hello',methods=['GET','POST'],endpoint='hello')
# def hi():
#     return '你好'
#
# @app.route('/hi',methods=['GET','POST'],endpoint='hi')
# def hello():
#     return '上进小菜猪'
@app.route('/user/<id>')
def index(id):
    if id=="1":
        return "python"
    if id=="2":
        return "django"
    if id=="3":
        return "flask"
    return 'nh'
if __name__ == '__main__':
    app.run()

四,自定义转换器

#自定义转换器
from flask import Flask
from werkzeug.routing import BaseConverter

app=Flask(__name__)

class RegexConverter(BaseConverter):
    def __init__(self,url_map,regex):
        #d调用父类方法
        super(RegexConverter,self).__init__(url_map)
        self.regex=regex

    def to_python(self,value):
        #父类的方法,功能实现完成
        print('111')
        return value
app.url_map.converters['re']=RegexConverter

@app.route('/index/<re("123"):vlaue>')
def index(vlaue):
    print(vlaue)
    return 'hello'

app.run()

五,渲染form表单

在这里插入图片描述
py文件

from flask import Flask,render_template
app = Flask(__name__)

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

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

html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form method="post">
    账号:
    <input type="text" name="name">
    <br>
    密码:
    <input type="password" name="password">
    <input type="submit" name="submit">
</form>

</body>
</html>

六,request对象

from flask import Flask,render_template,request
app = Flask(__name__)

@app.route('/index',methods=['GET','POST'])
def index():
    if request.method == 'GET' :
        return render_template('index.html')
    if request.method == 'POST' :
        name = request.form.get('name')
        password=request.form.get('password')
        print(name,password)
        return "post"

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

七,重定向

from flask import Flask,redirect,url_for

app= Flask(__name__)

@app.route('/index')
def index():
    return redirect(url_for("hello"))

@app.route('/')

def hello():
    return '上进小菜猪'
if __name__== "__main__":
    app.run()

八,返回json数据给前端

在这里插入图片描述

from flask import Flask,make_response,json,jsonify
app=Flask(__name__)
app.config['JSON_AS_ASCII']=False

@app.route('/index')
def index():
    data ={
        'name':'上进小菜猪'
    }
    # response=make_response(json.dumps(data,ensure_ascii=False))
    # response.mimetype='application/json'
    # return response
    return jsonify(data)

app.run()

九,abort函数

from flask import Flask,abort,request,make_response,render_template

app=Flask(__name__)

@app.route('/index',methods=['GET','POST'])

def index():
    if request.method =='GET':
        return render_template('index.html')
    if request.method =='POST':
        name = request.form.get('name')
        password= request.form.get('password')
        if name=="xiaozhu" and password =='123':
            return  '登录成功'
        else:
            abort(404)
            return None

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

十,自定义异常

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<img src="../static/r4041.png" alt="" width="900px" height="900px">
</body>
</html>
from flask import Flask,abort,request,make_response,render_template

app=Flask(__name__)

@app.route('/index',methods=['GET','POST'])

def index():
    if request.method =='GET':
        return render_template('index.html')
    if request.method =='POST':
        name = request.form.get('name')
        password= request.form.get('password')
        if name=="xiaozhu" and password =='123':
            return  '登录成功'
        else:
            abort(404)
            return None

@app.errorhandler(404)
def handle_404_error(err):
    return render_template("404.html")

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

十一,模板的基本使用

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    {{ data}}
    <br>
    {{ data['name']}}
    <br>
    {{ data.mylist}}
    <br>
    count:{{ data.mylist[1]+data.mylist[2] }}
</body>
</html>
from flask import Flask,render_template
app = Flask(__name__)

@app.route('/index')
def index():
    data = {
            'name':'上进小菜猪',
            'age':'19',
            'mylist':[12,21,32,4],
           }
    return render_template('index2.html',data=data)

app.run()

十二,过滤器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    {{ data}}
    <br>
    {{ data['name']}}
    <br>
    {{ data.mylist}}
    <br>
    count:{{ data.mylist[1]+data.mylist[2] }}
    <br>
    {{ 'hello_world' | replace('nj') }}
</body>
</html>

十三,自定义过滤器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    {{ data}}
    <br>
    {{ data['name']}}
    <br>
    {{ data.mylist}}
    <br>
    count:{{ data.mylist[1]+data.mylist[2] }}
    <br>
    {{ data.mylist | li2}}
</body>
</html>
from flask import Flask,render_template
app = Flask(__name__)

@app.route('/index')
def index():
    data = {
            'name':'上进小菜猪',
            'age':'19',
            'mylist':[12,21,32,4,1,43],
           }
    return render_template('index2.html',data=data)

def list_step(li):
    return li[::2]

#注册过滤器
app.add_template_filter(list_step,'li2')


app.run()
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-04 15:30:49  更:2022-03-04 15:31:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:37:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码