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
,很大原因是程式錯誤,例如文法錯誤,拼字錯誤,可以透過啟動的指令控制台,慢慢排錯。發現題主報錯的問題了,代碼文件中有 “中文”,文件開頭卻沒有指定編碼方式,正確的方式應該是在文件的第一行寫入