![](/img/trans.png)
[英]Why can't I console log data from my flask application? I am using jinja
[英]I can't go to the other paths i am using flask
我正在學習這門關於燒瓶的課程。 這是基本的燒瓶代碼。 當我在第一條路線上時,我很好,但是當我嘗試放置斜線並轉到另一個頁面時,它不起作用。
我收到這條消息:
“在服務器上找不到請求的 URL。如果您手動輸入了 URL,請檢查您的拼寫並重試。”
保存后我確實運行了FLASK_APP=app.py flask run
。
from Flask import flask
app= Flask(__name__)
@app.route('/')
def index():
return "index"
@app.route('/me')
def me():
return "me"
if __name__== "__main__":
app.run(debug=True)
在課堂上效果很好。 當我這樣做時,它不會
127.0.0.1 - - [08/Jul/2019 02:43:55] "GET /me/ HTTP/1.1" 404 -
我猜最后 404 是問題
回復后
from Flask import flask
app= Flask(__name__)
strict_slashes=False
@app.route('/')
def index():
return "index"
@app.route('/me/')
def me():
return "me"
if __name__== "__main__":
app.run(debug=True)
您已經明確聲明了您的“/me”路線,而沒有尾隨斜線。 但是,在調用 URL 時,您會在末尾使用斜杠“/me/”來調用它。 Werkzeug(Flask 開發應用服務器)默認有“strict_slashes=True”的規則,它要求你在調用你的 URL 時遵循精確的路由聲明。 換句話說,如果在你的代碼中,你聲明了“@app.route('/me'),你應該調用“127.0.0.1/me”,而不是“127.0.0.1/me/”。
最后刪除斜杠(例如http://localhost/me )將解決您的問題。 如果要刪除默認規則,還可以更改 Werkzeug 設置並設置 strict_slashes=False。
我會說創建一個 app.errorhandler(404) 然后定義在你收到錯誤后要做什么來檢查它是否是 404 錯誤,以及其他錯誤。 我還要說使用 html 並制作可用於進入不同頁面的鏈接,這比手動輸入更容易。 這是我的代碼:
Python:
from flask import Flask, render_template
app = Flask(__name__)
app.route('/')
def home():
return render_template('home.html')
app.route('/me')
def me():
return 'me'
app.errorhandler(404)
def error(arg):
return 'wrong url'
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8080)
html:
<!-- you can use css to make the link look better or <style> </style>-->
<a href="/me"></a>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.