没有合适的资源?快使用搜索试试~ 我知道了~
flask工具书-搭建一个简单Web应用
需积分: 0 1 下载量 85 浏览量
2023-09-29
14:56:03
上传
评论
收藏 1.62MB PDF 举报
温馨提示
试读
16页
见个人博客,pdf带配图
资源推荐
资源详情
资源评论
flask工具书-搭建一个简单Web应用
作者:温州外国语高级中学林淼焱
flask工具书-搭建一个简单Web应用
1.第一个WEB服务
2.路由传递信息
2.1获取信息
2.2简单应用
3.GET/POST传递信息
3.1GET
3.2POST
4.总结
5.其他知识
5.1 Html基础语法
5.1.1HTML 标签
5.1.2HTML结构
5.1.3 常用语法
5.2 了解SQL
6.拓展1_Jinja2模板
6.1基础模板
6.2Jinja2模板调用
7.拓展2_表单
7.1Flask处理通用表单(在html中书写静态表单)
7.2Flask_wtf的使用(html接收来自代码的动态表单)
网络框架是一种工具,用于快速和容易地开发Web应用程序。它提供了许多常见的功能,例如用户认
证、管理面板、表单处理和文件上传等,避免了重复编写代码的麻烦。
Flask是一个轻量级的、简单易用的Python Web网络应用程序框架。
当用户向服务器请求一个网站时,服务器会将请求传递给Flask。Flask通过URL确定请求的具体内容,然
后调用相应的视图函数进行处理。视图函数可以执行各种操作,例如查询数据库、修改数据等,最终生
成响应并发送给用户的Web浏览器。
1.第一个WEB服务
在flask运行后,请不要关闭代码终端。以下是基础代码解释:
app:我们可以称呼变量app为一个“实例”或“对象”,它有专属的“方法”与“属性”,我们后续所做的一切都
是对app这个对象进行修改。
route:该单词的中文含义为:路由,它的主要作用是将URL路径和函数关联起来,route方法的参数即
URL网址的内容,每个路由后面一般都会跟一个函数。例如,当前路由中的('/')代表根目录,用户在
输入IP地址和端口号后,index函数的返回值就是访问服务器所见内容。
if name == 'main':python文件通常有两种使用方法
①直接执行当前文件
②import到其他的 python 文件中,作为第三方库被调用
加入该语句后,直接运行该程序才可以启动web服务器,如果他人import当前文件,则服务器不会启
动,但是其中的视图函数等内容可以被引用。
可以在浏览器中打开"http://127.0.0.1:5000/"访问该程序生成的web页面。
数据传输过程如图:
2.路由传递信息
2.1获取信息
同样是使用路由函数,将其路径从"/"改为"/hello/",就需要在URL的最后加上对应内容,<>这类括号是
路由方法中特有的,我们后续会使用其他方法。
from flask import Flask #引入Flask包
app = Flask(__name__) #创建一个Web应用的实例app
@app.route('/') #设定路由
def index(): #当浏览器中的地址符合路由规则时,就会进入该函数
return 'Hello World'
if __name__ == '__main__': #启动Web服务器
app.run()
Q:访问网页时,在URL的末尾,是否需要加斜杠呢?
A:在某些浏览器中,当URL末尾没有斜杠时,浏览器可能会补全斜杠再发送请求。例如,在浏览器中输入
baidu.com,就会自动来到https://www.baidu.com/。因此,实际的URL末尾是需要斜杠的。
from flask import Flask
现在我们向浏览器的地址栏中输入http://localhost:5000/hello/lin,你将在页面上看到”Hello lin”的字
样。URL路径中/hello/后面的参数被作为hello()函数的name参数传了进来。
2.2简单应用
这里我们调用传入的数据进行判断,注意路由的变化。
app = Flask(__name__)
@app.route('/hello/<name>')
def hello(name):
return 'Hello ' + name
@app.route('/user/<int:user_id>')
def get_user(user_id):
return 'User ID: ' + str(user_id)
@app.route('/content/<username>/<password>/')
def login(username, password):
return '用户名:' + username + '密码:' + password
if __name__ == '__main__':
app.run()
from flask import Flask# 从flask框架中导入Flask类
app = Flask(__name__)# 传入__name__初始化一个Flask实例
app.config['JSON_AS_ASCII']=False
books = ['三国演义', '水浒传', '西游记', '红楼梦']
@app.route('/book/<int:book_id>')
def book_detail(book_id):
if book_id < len(books):
return books[book_id]
else:
return "没有找到"
if __name__ == '__main__':
app.run()
方法
名
作用 使用说明 程序实现
GET
从服
务器
获得
数据
将数据按照variable=value的形式,添加到URL
后面,并使用“?”连接,变量之间使用“&”连接;
例如baidu.com/s?wd=百度
request.args.get('name')
POST
向服
务器
传递
数据
将表单中的数据放在form的数据体中,按照变
量和值相对应的方式,传递到action所指向
URL。
request.form.get('name')
3.GET/POST传递信息
在@app.route()中可以传入一个关键字参数methods,来指定该路由支持的HTTP方法,可填写HTTP协
议中的两种常见请求方法:GET和POST,其他方法不做要求。**
3.1GET
使用该程序,能像代码2.1一样从URL中获取数据,请你思考:这两种方式有何区别?
from flask import Flask,request
app = Flask(__name__)
@app.route('/',methods=['GET'])
def hello():
name=request.args.get("name") # 字符串name代表获取输入时的url中的该变量内容
return "Hello "+name
@app.route('/user',methods=['GET'])
def user():
name=request.args.get('name')
psd=request.args.get('psd')
return "用户名:" + name +"密码:" + psd
if __name__ == '__main__':
app.run()
剩余15页未读,继续阅读
资源评论
林水火
- 粉丝: 9
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于python的高性能爬虫程序,使用了多线程+缓存+xpath实现的,这里以彼-岸图库为例,实现,仅用于学习交流
- 中分辨率成像光谱仪(MODIS)烧毁面积产品信息MODIS-C6-BA-User-Guide-1.2.pdf
- Screenshot_20240427_172613_com.huawei.browser.jpg
- 关于学习Python的相关资源网站链接及相关介绍.docx
- (HAL库)基于STM32F103C8T6的温控PID系统[Dht11、ESP8266、无线透传、L298N……]
- VoLTE高丢包优化指导书.xlsx
- Rust资源文件.zip
- 前后端分离实践:使用 React 和 Express 搭建完整登录注册流程
- gradle-publish-to-MavenLocal.zip
- 10份网络优化创新案例.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功