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基础(2) -> 正文阅读

[Python知识库]Flask基础(2)

一、Flask返回html页面

1. templates文件夹
(1)html文件的默认存放

? Flask框架中,框架默认会在名字为templates的python文件夹中寻找html文件

(2)修改html文件的存放位置

? 通过设置Flask()函数中参数(template_folder,模板文件)修改html文件的位置,例如将html文件存在位置修改为user文件夹。

app = Flask(__name__, template_folder="user")

?

2. 加载html页面
(1)Flask框架通过render_template函数加载html页面及模板渲染
render_template("file.html", **context)

? file.html为需要加载的html文件,context是可选参数,对应html文件中的变量,通过context参数传递html模块的变量,可选参数的变量名等于模板中的变量名。例如,

? html文件模块为:

? index.html,位于templates文件夹下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello world!</title>
</head>
<body>
    <h1>
        Hello, {{name}}
    </h1>
</body>
</html>

? python代码为

? main.py

from flask import Flask, render_template, jsonify, request, redirect

app = Flask(__name__, template_folder="templates")


@app.route("/index")
def login():
    userName = reques.args.get("userName", "world!")
    return render_template("index.html", name=userName)  # name为html模板中的变量。
(2)静态文件加载

? Flask框架默认会再static文件夹下搜索静态文件,通过url_for()函数生成访问url

url_for("static", filename="file.html")

? 这个静态文件在文件系统中的位置是"static/file.html"。

二、HTTP方法

1. 定义url的请求方式
(1)在app.route()中定义
@app.route("/login", methods=['GET', "POST"])
def login():
    if request.method == "GET":
        return render_template("login.html")
    user = request.form.get("user")
    password = request.form.get("password")
    if user == "Jason" and password == "123":
        return redirect("/index")  # 重定向,页面转载到"/index"
    else:
        error = "用户名或密码错误!"
        return render_template("login.html", error=error)

? 通过flask中的request(request.method)获取该url访问的方法。

2. 获取请求数据
(1)POST方法

? flask中的上下文: request

value = request.form.get("key", "defaultValue")

? 通过request.form.get("key", "defaultValue")获取对应关键字的值,无法获取则值为defaultValue

(2)GET方法
value = request.args.get('key', "defaultValue")
3. request对象

? 来自客户端网页的数据作为全局请求对象发送到服务器。为了处理请求数据,应该从Flask模块导入。

? Request对象的重要属性如下所列:

  • Form - 它是一个字典对象,包含表单参数及其值的键和值对。
  • args - 解析查询字符串的内容,它是问号(?)之后的URL的一部分。
  • Cookies - 保存Cookie名称和值的字典对象。
  • files - 与上传文件有关的数据。
  • method - 当前请求方法。
4. Flask文件上传

? 在 Flask 中处理文件上传非常简单。它需要一个 HTML 表单,其 enctype 属性设置为“multipart / form-data”,将文件发布到 URL。URL 处理程序从 request.files[] 对象中提取文件,并将其保存到所需的位置。

? 每个上传的文件首先会保存在服务器上的临时位置,然后将其实际保存到它的最终位置。目标文件的名称可以是硬编码的,也可以从 request.files[file]对象的filename属性中获取。但是,建议使用 secure_filename() 函数获取它的安全版本。

? 可以在 Flask 对象的配置设置中定义默认上传文件夹的路径和上传文件的最大大小。

app.config[‘UPLOAD_FOLDER’] 定义上传文件夹的路径 app.config[‘MAX_CONTENT_LENGTH’] 指定要上传的文件的最大大小(以字节为单位)
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-15 15:29:40  更:2021-08-15 15:31:11 
 
开发: 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 10:16:25-

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