Raspberry Piでは、サーバーの現在の日付と時刻をWebページに表示する簡単なFlaskアプリケーションを作成しました。その部分は素晴らしい作品です。 ページにも画像が表示されます。その部分は機能しません。画像は、アプリケーションフォルダの下の写真フォルダ:Web_Test/photosに保存されます。 私は静的フォルダに格納されているCSSファイルを使用しています。 は、私がイメージにURLを作成するためになurl_forを使用します。FlaskのWebページで画像ファイルが見つかりません
<p><img src="{{url_for('photos', filename='image1.jpg')}}"></p>
写真なurl_forコマンドのための既知のエンドポイントではないので、私が使用:app.add_url_rule('/photos/<path:filename>', view_func=app.send_static_file)
をエンドポイントとして写真フォルダを追加します。 WebブラウザからWebページにアクセスするたびに、python(python3 photo.py)を実行したコマンドウィンドウがGET /photos/image1/jpg HTTP/1.1" 404
と表示されます。 具体的なエラーはありませんが、画像はありません。 私はこの問題について多くの記事を読んできましたが、何も助けてくれませんでした。 は、これは私のphoto.pyコードです:
from flask import Flask, render_template
import datetime
app = Flask(__name__)
app.add_url_rule('/photos/<path:filename>', endpoint='photos', view_func=app.send_static_file)
@app.route('/')
def photo():
now = datetime.datetime.now()
timeString = now.strftime("%Y-%m-%d %H:%M")
templateData = {
'title' : 'Latest Photo',
'time' : timeString
}
return render_template('photo1.html', **templateData)
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=80)
これは私のphoto1.htmlコードです:
<!DOCTYPE html>
<head>
<link rel="stylesheet" href='/static/style.css' />
<title>{{title}}</title>
</head>
<body>
<h1>Latest Photo</h1>
<h2>Current date and time: {{time}}</h2>
<p> <img src="{{url_for('photos', filename='image1.jpg')}}"></p>
</body>
</html>
任意の考えや提案をいただければ幸いです。 ありがとう!あなたはこのようなプロジェクトのレイアウトを再編成する場合
お返事ありがとうございます。私はそれを試みたが、同じ問題を抱えていた。コマンドウィンドウにこれが表示されます: "GET /static/photo/image1.jpg HTTP/1.1" 404 – simlc0523
まあ、duh。一度私は正しくフォルダ名の綴り(写真の代わりに写真)、それは働いた!ありがとう!私の唯一の懸念は、写真フォルダ内の画像が定期的に更新されることです。それが "静的"フォルダの問題であるかどうかは分かりませんでした。 – simlc0523