Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
WYH
wyh_web_tools
比较版本
41a25e910142a820d84a947308acd55088800075...9bad528d1de2b5293440bdc89a719048cbd8ac74
W
wyh_web_tools
项目概览
WYH
/
wyh_web_tools
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
wyh_web_tools
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
源分支
9bad528d1de2b5293440bdc89a719048cbd8ac74
选择Git版本
...
目标分支
41a25e910142a820d84a947308acd55088800075
选择Git版本
比较
Commits (3)
https://gitcode.net/WyhPro/wyh_web_tools/-/commit/5d2f6a75cdb3dcaa83b2a361435ed0adc4ce66f3
http错误进行异常捕获, 以及主动抛出http错误
2021-08-15T16:01:50+08:00
汪云辉
15655267350@163.com
https://gitcode.net/WyhPro/wyh_web_tools/-/commit/44d2101d9cfb1e718cc4ae4dfe6a9516c4c3342c
http错误进行异常捕获, 以及主动抛出http错误,一般根据情况在前方拦截处理
2021-08-15T16:06:30+08:00
汪云辉
15655267350@163.com
https://gitcode.net/WyhPro/wyh_web_tools/-/commit/9bad528d1de2b5293440bdc89a719048cbd8ac74
新增请求钩子
2021-08-15T16:12:37+08:00
汪云辉
15655267350@163.com
隐藏空白更改
内联
并排
Showing
2 changed file
with
55 addition
and
1 deletion
+55
-1
main.py
main.py
+37
-0
user/views.py
user/views.py
+18
-1
未找到文件。
main.py
浏览文件 @
9bad528d
...
...
@@ -213,6 +213,43 @@ def demo6():
return
"demo6"
,
700
,
{
"b"
:
20
}
############################################################可以捕获 http错误 和 系统内置错误#######################################################################
@
app
.
errorhandler
(
404
)
# 可以捕获 http错误 和 系统内置错误
def
error_404
(
e
):
# 必须定义形参来接收具体的错误信息
return
"您访问的页面去浪迹天涯了... %s"
%
e
############################################################请求钩子#######################################################################
# 在第一次请求之前调用,可以在此方法内部做一些初始化操作
@
app
.
before_first_request
def
before_first_request
():
print
(
"before_first_request"
)
# 在每一次请求之前调用,这时候已经有请求了,可能在这个方法里面做请求的校验
# 如果请求的校验不成功,可以直接在此方法中进行响应,直接return之后那么就不会执行视图函数
@
app
.
before_request
def
before_request
():
print
(
"before_request"
)
# if 请求不符合条件:
# return "laowang"
# 在执行完视图函数之后会调用,并且会把视图函数所生成的响应传入,可以在此方法中对响应做最后一步统一的处理
@
app
.
after_request
def
after_request
(
response
):
print
(
"after_request"
)
response
.
headers
[
"Content-Type"
]
=
"application/json"
return
response
# 请每一次请求之后都会调用,会接受一个参数,参数是服务器出现的错误信息
@
app
.
teardown_request
def
teardown_request
(
response
):
print
(
"teardown_request"
)
# Flask应用程序实例的run方法启动WEB服务器
if
__name__
==
'__main__'
:
print
(
app
.
url_map
)
...
...
user/views.py
浏览文件 @
9bad528d
from
flask
import
url_for
,
render_template
,
make_response
,
redirect
,
jsonify
,
session
from
flask
import
url_for
,
render_template
,
make_response
,
redirect
,
jsonify
,
session
,
abort
from
flask
import
request
from
main
import
app
...
...
@@ -205,3 +205,20 @@ def login_use_session():
return
"登录成功"
else
:
return
"登录失败"
#####################################http错误进行异常捕获, 以及主动抛出http错误##########################################
# flask中对http错误封装了异常处理, 可以对http错误进行异常捕获, 以及主动抛出http错误
# 2.捕获指定异常
@
user_blu
.
errorhandler
(
ZeroDivisionError
)
def
error_zero
(
e
):
return
'除数不能为0'
@
user_blu
.
route
(
'/index_error'
)
def
index_error
():
a
=
1
/
0
abort
(
404
)
# 主动抛出http错误
return
"index"