84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
新学python做web不久.这是项目中两个py文件.
"/"和"/user/aaa"这两个是使用了render_template方法. 我直接运行flaskapp.py,不管访问/login还是/user/aaaa都是没问题的.可以显示template文件夹里面的页面 可是如果运行wsgi.py,访问/login没有问题.访问"/"和"user/aaaaaaa"就出现500错误了.
请问这两种启动方式有什么不同?总感觉好像是没请求到html文件???
欢迎选择我的课程,让我们一起见证您的进步~~
运行 flaskapp.py 文件,启动的是 flask自带的服务器,也就是Werkzeug这个做WSGI 容器。
flaskapp.py
flask
Werkzeug
WSGI
运行 wsgi.py文件,启动的是wsgiref这个模块的 make_server做 WSGI容器。
wsgi.py
wsgiref
python web世界里,目前流行的方式都是 WSGI 这种协议。可以理解为,任何一个框架,最终都需要实现 WSGI这个协议,暴露app。而web服务器,就需要实现WSGI协议,然后像一个容器一样容纳框架暴露的app。上面两种启动方式,不同的在于wsgi容器。
app
我按照题主的代码,跑了一个demo做测试,没有发现题主说的问题。报错500,很大原因是程序错误,比如语法错误,拼写错误,可以通过启动的命令控制台,慢慢排错。
500
发现题主报错的问题了,代码文件中有 “中文”,文件开头却没有指定编码方式,正确的方式应该是在文件的第一行写入
# -*- coding: utf-8 -*-
运行
flaskapp.py
文件,启动的是flask
自带的服务器,也就是Werkzeug
这个做WSGI
容器。运行
wsgi.py
文件,启动的是wsgiref
这个模块的 make_server做WSGI
容器。python web世界里,目前流行的方式都是
WSGI
这种协议。可以理解为,任何一个框架,最终都需要实现WSGI
这个协议,暴露app
。而web服务器,就需要实现WSGI
协议,然后像一个容器一样容纳框架暴露的app
。上面两种启动方式,不同的在于wsgi容器。我按照题主的代码,跑了一个demo做测试,没有发现题主说的问题。报错
500
,很大原因是程序错误,比如语法错误,拼写错误,可以通过启动的命令控制台,慢慢排错。发现题主报错的问题了,代码文件中有 “中文”,文件开头却没有指定编码方式,正确的方式应该是在文件的第一行写入