Python_Flask01

所有人都不许学Java了,都来学Python!

如果不来学的话请网爆我的老师---蔡老师

Flask的前世姻缘

我不知道,没啥用,要学好这个框架,其实多读书,多看报就行了,真心想了解的话!

Welcome to Flask --- Flask Documentation (3.1.x) (palletsprojects.com)https://flask.palletsprojects.com/en/stable/

创建Flask项目

第一步

点击File,点击NewProject

第二步

创建成功

简单不?都给我去学习Python!!!!(可以网爆我的老师,但是不能黑我的哥哥)

学习Flask

整体代码

python 复制代码
from flask import Flask
from flask import render_template
from flask import request

app = Flask(__name__)


@app.route('/')
def hello_world():  # put application's code here
    return render_template('test.html')


@app.route('/detail/<id>/<name>')
# http://127.0.0.1:8085/detail/5/6666 这种形式
def getId(id, name):
    return render_template('test.html', id=id, name=name)


@app.route('/test')
# http://127.0.0.1:8085/test?id=5&name=box&password=666  使用的是query的拼接方式
# 使用的request中的args.get('字段')方式获取这个字段的值
def getQuery():
    id = request.args.get('id')
    name = request.args.get('name')
    password = request.args.get('password')
    return render_template('user.html', id=id, name=name, password=password)


# 这个地方主要是继承的使用方式
@app.route('/child')
def getExtend():
    return render_template('child.html')


@app.route('/static')
def getImage():
    return render_template('image.html')


if __name__ == '__main__':
    # 启动方法
    app.run()

解释

根路径

python 复制代码
@app.route('/')
def hello_world():  # put application's code here
    return render_template('test.html')

假设服务是http://127.0.0.1:8085

那输入上面的这个路径就会使用render_template工具,随后去寻找test.html文件,将test.html文件的内容进行渲染在页面,下面提供的是test.html文件的内容。

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div>你好</div>
    <div>{{ id }}</div>
 <div>{{ name }}</div>
</body>
</html>

传参方式

python 复制代码
@app.route('/detail/<id>/<name>')
# http://127.0.0.1:8085/detail/5/6666 这种形式
def getId(id, name):
    return render_template('test.html', id=id, name=name)


@app.route('/test')
# http://127.0.0.1:8085/test?id=5&name=box&password=666  使用的是query的拼接方式
# 使用的request中的args.get('字段')方式获取这个字段的值
def getQuery():
    id = request.args.get('id')
    name = request.args.get('name')
    password = request.args.get('password')
    return render_template('user.html', id=id, name=name, password=password)

不能说好理解,只能说非常容易,主要就是request工具获取参数和路径后面直接拼接参数的两种获取方式

加载静态资源

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
   <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/index.css') }}">
</head>
<img class="image" src="{{ url_for('static',filename='image/react.png') }}" />
</body>
</html>

使用的方式是url_for的方式去展示静态资源

语法(拿html解释)

html 复制代码
<img class="image" src="{{ url_for('static',filename='image/react.png') }}" />

继承

father.html

html 复制代码
<!-- base.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{% block title %}My Website{% endblock %}</title>
</head>
<body>
    <header>
        <h1>欢迎来到我的网站</h1>
    </header>

    <main>
        {% block content %}
        <!-- 默认内容 -->
        {% endblock %}
    </main>

    <footer>
        <p>版权所有 &copy; 2023</p>
    </footer>
</body>
</html>

child.html

html 复制代码
<!-- child.html -->
{% extends "father.html" %}

{% block title %}子页面标题{% endblock %}

{% block content %}
    <h2>这是子页面</h2>
    <p>这里是子页面的内容。</p>
{% endblock %}

测试效果:访问http://127.0.0.1:8085/child

python 复制代码
# 这个地方主要是继承的使用方式
@app.route('/child')
def getExtend():
    return render_template('child.html')
相关推荐
大名人儿4 分钟前
【JS事件循环机制event-loop】
javascript·事件循环·宏任务·微任务·event-loop
fantasy_417 分钟前
LeetCode238☞除自身以外数组的乘积
java·数据结构·python·算法·leetcode
天天扭码22 分钟前
JavaScript 中 apply 和 call 方法的区别与应用场景
前端·javascript·面试
Tech Synapse22 分钟前
零基础搭建AI作曲工具:基于Magenta/TensorFlow的交互式音乐生成系统
人工智能·python·tensorflow
元亓亓亓22 分钟前
Java后端开发day38--不可变集合&Stream流
java·开发语言
努力创造奇迹27 分钟前
C 语言联合体、枚举、typedef 详解
c语言·开发语言
纪元A梦30 分钟前
华为OD机试真题——阿里巴巴找黄金宝箱Ⅰ(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
java·c语言·javascript·c++·python·华为od·go
前端啵啵猪34 分钟前
基于qiankun实现子应用菜单级keep-alive
前端·javascript
徐小夕35 分钟前
写了一款3D可视化编辑器模版,开源!
前端·javascript·github
AI_RSER40 分钟前
Python 数据可视化全场景实现(一)
开发语言·人工智能·python·信息可视化·遥感