{"url":"https://www.wizard-notes.com/entry/python/flask-audiofile","description":"\u6982\u8981 \u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u30b5\u30fc\u30d0\u4e0a\u306e\u97f3\u6e90\u3092\u518d\u751f\u3059\u308bWeb\u30a2\u30d7\u30ea\u3092\u3001Flask\u3067\u5b9f\u73fe\u3059\u308b\u305f\u3081\u306e\u5b9f\u88c5\u4f8b\u3067\u3059\u3002 \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u6210 flask_play_audio/ \u251c music/ \u2502 \u2514 audio.mp3 \u251c templates/ \u2502 \u2514 index.html \u2514 app.py \u30bd\u30fc\u30b9\u30b3\u30fc\u30c9 app.py # -*- coding: utf-8 -*- from flask import Flask, render_template, send_from_directory app = Flask(__name__) @app.route(\"/\") def index(): return render\u2026","published":"2019-01-24 16:15:54","version":"1.0","categories":["Flask","Python","WebApp"],"image_url":"https://cdn.blog.st-hatena.com/images/theme/og-image-1500.png","provider_url":"https://hatena.blog","blog_title":"Wizard Notes","width":"100%","blog_url":"https://www.wizard-notes.com/","provider_name":"Hatena Blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.wizard-notes.com%2Fentry%2Fpython%2Fflask-audiofile\" title=\"Flask\uff1aWeb\u30a2\u30d7\u30ea\u3067\u30b5\u30fc\u30d0\u4e0a\u306e\u30aa\u30fc\u30c7\u30a3\u30aa\u30d5\u30a1\u30a4\u30eb\u3092\u518d\u751f\u30fb\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9 - Wizard Notes\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","title":"Flask\uff1aWeb\u30a2\u30d7\u30ea\u3067\u30b5\u30fc\u30d0\u4e0a\u306e\u30aa\u30fc\u30c7\u30a3\u30aa\u30d5\u30a1\u30a4\u30eb\u3092\u518d\u751f\u30fb\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9","author_url":"https://blog.hatena.ne.jp/Kurene/","height":"190","author_name":"Kurene","type":"rich"}