Python-Flask-2023.1.22

1、WSGI

web server gateway interface

一个框架定义的简单通用的接口

Web服务器网关接口Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口

flask框架内有默认的服务器 Nginx 会启动框架内内置的server

2、默认情况下,只能是本机访问。

如果host改成:0.0.0.0 外网可以通过ip地址来访问

3、路由的请求和响应

浏览器地址栏输入路由: 172.29.2.50 ------> 服务器------> app------->有没有这个路由------->

就会执行路由匹配的函数------> 返回对应的函数值 -------> response------> 返回客户端的浏览器

请求: request

请求行:地址:http://0.0.0.0:8000/index

请求的方法是什么? method:get post

请求头:这些都可以被称为请求头

请求体:只有post的情况下,才会看到请求体,一般的情况下是没有的。

响应:response

响应行:状态码---> 200 代表OK 还有其他的状态码 代表的其他不同的意思

响应头: Content-length; Content-type;Date 等相关信息

响应体:标签上的相关信息

5、路由

def route(self, rule, **options):

def decorator(f):

self.add_url_rule(rule, endpoint, f, **options)

return f

return decorator

以下装饰器的作用 等价于 @app.route 的方法

其实就是讲 rule 和 视图函数进行了绑定,通过 add_url_rule() 实现的绑定

def index():

return 'welcome everyone!'

# 将这个规则和函数都绑定在一块了

app.add_url_rule('/index', view_func = index)

6、路由的变量规则------> UUID 唯一的标识码 类似于身份证的作用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
127.0.0.1 - - [14/May/2023 00:58:30] "GET / HTTP/1.1" 200 - 127.0.0.1 - - [14/May/2023 00:58:30] "GET /static/sweetalert/dist/sweetalert.css HTTP/1.1" 404 - 127.0.0.1 - - [14/May/2023 00:58:30] "GET /static/sweetalert/dist/sweetalert.min.js HTTP/1.1" 404 - [2023-05-14 00:58:32,535] ERROR in app: Exception on /login [GET] Traceback (most recent call last): File "F:\python\lib\site-packages\flask\app.py", line 2311, in wsgi_app response = self.full_dispatch_request() File "F:\python\lib\site-packages\flask\app.py", line 1834, in full_dispatch_request rv = self.handle_user_exception(e) File "F:\python\lib\site-packages\flask\app.py", line 1737, in handle_user_exception reraise(exc_type, exc_value, tb) File "F:\python\lib\site-packages\flask\_compat.py", line 36, in reraise raise value File "F:\python\lib\site-packages\flask\app.py", line 1832, in full_dispatch_request rv = self.dispatch_request() File "F:\python\lib\site-packages\flask\app.py", line 1818, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "G:\python\course_select_system-master\app\view.py", line 50, in login return render_template('login.html') File "F:\python\lib\site-packages\flask\templating.py", line 135, in render_template context, ctx.app) File "F:\python\lib\site-packages\flask\templating.py", line 117, in _render rv = template.render(context) File "F:\python\lib\site-packages\jinja2\asyncsupport.py", line 76, in render return original_render(self, *args, **kwargs) File "F:\python\lib\site-packages\jinja2\environment.py", line 1008, in render return self.environment.handle_exception(exc_info, True) File "F:\python\lib\site-packages\jinja2\environment.py", line 780, in handle_exception reraise(exc_type, exc_value, tb) File "F:\python\lib\site-packages\jinja2\_compat.py", line 37, in reraise raise value.with_traceback(tb) File "G:\python\course_select_system-master\app\templates\login.html", line 1, in top-level template code {% extends 'bootstrap/base.html' %} File "F:\python\lib\site-packages\flask_bootstrap\templates\bootstrap\base.html", line 1, in top-level template code {% block doc -%} File "F:\python\lib\site-packages\flask_bootstrap\templates\bootstrap\base.html", line 4, in block "doc" {%- block html %} File "F:\python\lib\site-packages\flask_bootstrap\templates\bootstrap\base.html", line 20, in block "html" {% block body -%} File "F:\python\lib\site-packages\flask_bootstrap\templates\bootstrap\base.html", line 26, in block "body" {% block scripts %} File "F:\python\lib\site-packages\flask_bootstrap\templates\bootstrap\base.html", line 27, in block "scripts" <script src="{{bootstrap_find_resource('jquery.js', cdn='jquery')}}"></script> jinja2.exceptions.UndefinedError: 'bootstrap_find_resource' is undefined 127.0.0.1 - - [14/May/2023 00:58:32] "GET /login HTTP/1.1" 500 -
05-14

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值