{"id":516,"date":"2026-04-18T17:10:37","date_gmt":"2026-04-18T08:10:37","guid":{"rendered":"https:\/\/software.satoshis.jp\/?p=516"},"modified":"2026-04-18T17:24:21","modified_gmt":"2026-04-18T08:24:21","slug":"%e6%97%a5%e7%a8%8b%e8%aa%bf%e6%95%b4%e3%82%a2%e3%83%97%e3%83%aa%e3%80%8c%e3%81%94%e9%83%bd%e5%90%88%e3%81%8f%e3%82%93%e3%80%8d%e3%82%92python-flask%e3%81%a7%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf","status":"publish","type":"post","link":"https:\/\/software.satoshis.jp\/?p=516","title":{"rendered":"\u65e5\u7a0b\u8abf\u6574\u30a2\u30d7\u30ea\u300c\u3054\u90fd\u5408\u304f\u3093\u300d\u3092Python\/Flask\u3067\u4f5c\u3063\u3066\u307f\u305f\u8a71"},"content":{"rendered":"<p>\u6700\u8fd1\u3001\u500b\u4eba\u7684\u306a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3068\u3057\u3066\u3001\u30b7\u30f3\u30d7\u30eb\u306a\u65e5\u7a0b\u8abf\u6574\u30b5\u30fc\u30d3\u30b9\u300c\u3054\u90fd\u5408\u304f\u3093\u300d\u3092\u4f5c\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u226b <a href=\"https:\/\/go2gokun.com\/\" target=\"_blank\">\u3054\u90fd\u5408\u304f\u3093<\/a><\/p>\n<p>\u30c8\u30c3\u30d7\u30da\u30fc\u30b8\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/software.satoshis.jp\/wp-content\/uploads\/2026\/04\/go2gokun-167x300.png\" alt=\"\" width=\"167\" height=\"300\" class=\"alignnone size-medium wp-image-521\" srcset=\"https:\/\/software.satoshis.jp\/wp-content\/uploads\/2026\/04\/go2gokun-167x300.png 167w, https:\/\/software.satoshis.jp\/wp-content\/uploads\/2026\/04\/go2gokun.png 560w\" sizes=\"auto, (max-width: 167px) 100vw, 167px\" \/><\/p>\n<p>\u98f2\u307f\u4f1a\u30fb\u9001\u5225\u4f1a\u30fb\u6b53\u8fce\u4f1a\u30fb\u6253\u3061\u5408\u308f\u305b\u306a\u3069\u3067\u3001\u5019\u88dc\u65e5\u3092\u4f5c\u3063\u3066URL\u3092\u5171\u6709\u3059\u308b\u3060\u3051\u3067\u53c2\u52a0\u53ef\u5426\u3092\u96c6\u3081\u3089\u308c\u308b\u3001\u3044\u308f\u3086\u308b\u8abf\u6574\u7cfb\u30c4\u30fc\u30eb\u3067\u3059\u3002<\/p>\n<p>\u3044\u307e\u307e\u3067\u306f\u300c\u8abf\u6574\u3055\u3093\u300d\u3068\u3044\u3046\u30b5\u30fc\u30d3\u30b9\u3092\u4f7f\u3063\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u3053\u308c\u306a\u3089\u6bd4\u8f03\u7684\u7c21\u5358\u306b\u4f5c\u308c\u305d\u3046\u3060\u3068\u601d\u3063\u305f\u306e\u3067\u3001\u81ea\u4f5c\u3057\u3066\u307f\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u666e\u6bb5\u306fLaravel\u3084Spring Boot\u3067\u958b\u767a\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u306e\u3067\u3059\u304c\u3001\u4eca\u56de\u306f\u3042\u3048\u3066 <strong>Python + Flask<\/strong> \u3092\u4f7f\u3063\u3066\u307f\u307e\u3057\u305f\u3002<br \/>\n\u305d\u306e\u4e2d\u3067\u611f\u3058\u305f\u3053\u3068\u3092\u3001\u30a8\u30f3\u30b8\u30cb\u30a2\u76ee\u7dda\u3067\u6b63\u76f4\u306b\u66f8\u3044\u3066\u307f\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/software.satoshis.jp\/wp-content\/uploads\/2026\/04\/flask-logo-300x121.png\" alt=\"\" width=\"300\" height=\"121\" class=\"alignnone size-medium wp-image-517\" srcset=\"https:\/\/software.satoshis.jp\/wp-content\/uploads\/2026\/04\/flask-logo-300x121.png 300w, https:\/\/software.satoshis.jp\/wp-content\/uploads\/2026\/04\/flask-logo-768x309.png 768w, https:\/\/software.satoshis.jp\/wp-content\/uploads\/2026\/04\/flask-logo.png 930w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<h3>\u306a\u305cPython+Flask\u3092\u9078\u3093\u3060\u306e\u304b<\/h3>\n<p>\u7406\u7531\u306f\u7c21\u5358\u3067\u3059\u3002<\/p>\n<ul>\n<li>Python\u3067\u4f55\u304b\u3092\u4f5c\u3063\u3066\u307f\u305f\u304b\u3063\u305f<\/li>\n<li>\u5c0f\u898f\u6a21\u30b5\u30a4\u30c8\u306a\u3089Flask\u304c\u4f7f\u3044\u3084\u3059\u305d\u3046<\/li>\n<\/ul>\n<p>\u305d\u306e\u7a0b\u5ea6\u306e\u52d5\u6a5f\u3067\u3059\u3002\u6700\u8fd1\u306fFlask\u304c\u591a\u304f\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u4f7f\u308f\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u8a66\u3057\u306b\u4f7f\u3063\u3066\u307f\u308b\u304b\u3001\u3068\u3044\u3046\u7a0b\u5ea6\u3067\u3059\u3002<\/p>\n<h3>\u6a5f\u80fd<\/h3>\n<p>\u65e5\u7a0b\u8abf\u6574\u3059\u308b\u305f\u3081\u3060\u3051\u306e\u30b5\u30fc\u30d3\u30b9\u306a\u306e\u3067\u3001\u6a5f\u80fd\u306f\u30b7\u30f3\u30d7\u30eb\u3067\u3059\u3002<\/p>\n<ul>\n<li>\u30a4\u30d9\u30f3\u30c8\u306e\u4f5c\u6210<\/li>\n<li>\u5019\u88dc\u65e5\u306e\u767b\u9332<\/li>\n<li>URL\u5171\u6709<\/li>\n<li>\u53c2\u52a0\u5e0c\u671b\u8005\u304c\u25ef\u25b3\u2715\u3067\u56de\u7b54\uff06\u30b3\u30e1\u30f3\u30c8\u5165\u529b<\/li>\n<li>\u56de\u7b54\u306e\u4e00\u89a7\u8868\u793a(\u65e5\u4ed8\u3054\u3068\u306b\u25ef\u25b3\u2715\u306e\u6570\u306e\u8868\u793a\u3082)<\/li>\n<\/ul>\n<h3>\u3069\u3046\u3084\u3063\u3066\u4f5c\u3063\u305f\u306e\u304b<\/h3>\n<p>\u4eca\u56de\u306f\u3001ChatGPT\u306b\u805e\u304d\u306a\u304c\u3089\u4f5c\u3063\u3066\u3044\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u6700\u521d\u306f\u3001\u4ee5\u4e0b\u306e\u8cea\u554f\u304b\u3089\u59cb\u3081\u307e\u3057\u305f\u3002<\/p>\n<h4>\u69cb\u6210\u306e\u9078\u5b9a<\/h4>\n<blockquote><p>Python\u3067Web\u30a2\u30d7\u30ea\u3092\u4f5c\u308b\u3068\u3057\u305f\u3089\u3001\u3069\u306e\u3088\u3046\u306a\u69cb\u6210\u304c\u304a\u3059\u3059\u3081\uff1f<\/p><\/blockquote>\n<p>\u4ee5\u4e0b\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u304c\u63d0\u6848\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n<ul>\n<li>Flask<\/li>\n<li>Django<\/li>\n<li>FastAPI<\/li>\n<li>StreamLit<\/li>\n<\/ul>\n<p>Flask\u304c\u5c0f\u898f\u6a21\u5411\u3051\u307f\u305f\u3044\u306a\u306e\u3067\u3001Flask\u3092\u9078\u629e\u3002<\/p>\n<p>DB\u63a5\u7d9a\u306b\u306f\u3001SQLAlchemy\u304c\u5b9a\u756a\u3068\u3044\u3046\u3053\u3068\u306a\u306e\u3067\u3001\u3042\u307e\u308a\u8003\u3048\u305a\u306b\u3053\u308c\u3092\u63a1\u7528\u3002<\/p>\n<h4>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210<\/h4>\n<p>\u69cb\u6210\u304c\u6c7a\u307e\u3063\u305f\u306e\u3067\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nmkdir go2gokun\r\ncd go2gokun\r\n<\/pre>\n<p>\u4eee\u60f3\u74b0\u5883\u3092\u4f5c\u308c\u3068\u8a00\u308f\u308c\u305f\u306e\u3067\u3001\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u307e\u307e\u4f5c\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\npython3 -m venv venv\r\nsource venv\/bin\/activate\r\n<\/pre>\n<p>Flask\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\npip install flask\r\npip freeze &gt; requirements.txt\r\n<\/pre>\n<p>ChatGPT\u306b\u8a00\u308f\u308c\u308b\u307e\u307e\u306b\u3001\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n<p>app\/__init__.py<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nfrom flask import Flask\r\n\r\ndef create_app():\r\n    app = Flask(__name__)\r\n\r\n    from .routes import main\r\n    app.register_blueprint(main)\r\n\r\n    return app\r\n<\/pre>\n<p>app\/routes.py<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nfrom flask import Blueprint, render_template, current_app\r\n\r\nmain = Blueprint(&quot;main&quot;, __name__)\r\n\r\n@main.route(&quot;\/&quot;)\r\ndef index():\r\n    return render_template(\r\n        &quot;index.html&quot;,\r\n        app_name=current_app.config&#x5B;&quot;APP_NAME&quot;]\r\n    )\r\n<\/pre>\n<p>app\/templates\/index.html<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html lang=&quot;ja&quot;&gt;\r\n&lt;head&gt;\r\n    &lt;meta charset=&quot;utf-8&quot;&gt;\r\n    &lt;title&gt;\u3054\u90fd\u5408\u304f\u3093&lt;\/title&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n    &lt;h1&gt;\u3054\u90fd\u5408\u304f\u3093&lt;\/h1&gt;\r\n    &lt;p&gt;\u307f\u3093\u306a\u306e\u300c\u884c\u3051\u308b\u300d\u3092\u3059\u3050\u6c7a\u3081\u308b\u65e5\u7a0b\u8abf\u6574\u30b5\u30fc\u30d3\u30b9&lt;\/p&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>run.py<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nfrom app import create_app\r\n\r\napp = create_app()\r\n\r\nif __name__ == &quot;__main__&quot;:\r\n    app.run(debug=True)\r\n<\/pre>\n<p>\u8d77\u52d5\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\npython run.py\r\n<\/pre>\n<p>http:\/\/localhost:5000\/ \u306b\u30a2\u30af\u30bb\u30b9\u3057\u305f\u3089\u3001\u52d5\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u52d5\u3044\u3066\u3057\u307e\u3048\u3070\u3001\u3042\u3068\u306f\u5fc5\u8981\u306a\u6a5f\u80fd\u3092\u9806\u306b\u4f5c\u308a\u8fbc\u3093\u3067\u3044\u304f\u3060\u3051\u3067\u3059\u3002<\/p>\n<p>\u57fa\u672c\u7684\u306b\u306f\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3092 app\/routes.py \u306b\u8a18\u8ff0\u3057\u3066\u3001app\/templates\/ \u306bHTML\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u7f6e\u3044\u3066\u304a\u3051\u3070\u52d5\u304f\u611f\u3058\u3067\u3059\u3002<\/p>\n<h4>DB\u306e\u6e96\u5099<\/h4>\n<p>\u3053\u306e\u8fba\u3082ChatGPT\u306b\u304a\u4efb\u305b\u3067\u3059\u3002<\/p>\n<p>Flask\u306bSQLAlchemy\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\npip install flask-sqlalchemy flask-migrate psycopg2-binary\r\npip freeze &gt; requirements.txt\r\n<\/pre>\n<p>Flask\u306bDB\u8a2d\u5b9a\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<p>app\/config.py<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nclass Config:\r\n    APP_NAME = &quot;\u3054\u90fd\u5408\u304f\u3093&quot;\r\n    SECRET_KEY = &quot;dev-secret-key&quot;\r\n\r\n    SQLALCHEMY_DATABASE_URI = (\r\n        &quot;mysql:\/\/go2go:password@localhost:5432\/go2go&quot;\r\n    )\r\n    SQLALCHEMY_TRACK_MODIFICATIONS = False\r\n<\/pre>\n<p>app\/__init__.py<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nfrom flask import Flask\r\nfrom flask_sqlalchemy import SQLAlchemy\r\nfrom flask_migrate import Migrate\r\nfrom .config import Config\r\n\r\ndb = SQLAlchemy()\r\nmigrate = Migrate()\r\n\r\ndef create_app():\r\n    app = Flask(__name__)\r\n    app.config.from_object(Config)\r\n\r\n    db.init_app(app)\r\n    migrate.init_app(app, db)\r\n\r\n    from .routes import main\r\n    app.register_blueprint(main)\r\n\r\n    return app\r\n<\/pre>\n<p>Model\u3092\u4f5c\u308a\u307e\u3059\u3002<\/p>\n<p>app\/models.py<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nfrom . import db\r\nimport uuid\r\nfrom datetime import datetime\r\n\r\nclass Event(db.Model):\r\n    __tablename__ = &quot;events&quot;\r\n\r\n    id = db.Column(db.Integer, primary_key=True)\r\n    public_id = db.Column(\r\n        db.String(36),\r\n        unique=True,\r\n        nullable=False,\r\n        default=lambda: str(uuid.uuid4())\r\n    )\r\n    title = db.Column(db.String(200), nullable=False)\r\n    description = db.Column(db.Text)\r\n    created_at = db.Column(db.DateTime, default=datetime.utcnow)\r\n<\/pre>\n<p>\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nflask db init\r\nflask db migrate -m &quot;create events table&quot;\r\nflask db upgrade\r\n<\/pre>\n<p>Python+Flask\u3092\u3088\u304f\u308f\u304b\u3063\u3066\u306a\u3044\u307e\u307e\u3084\u3063\u3066\u308b\u306e\u3067\u3001\u3044\u308d\u3044\u308d\u3068\u7d30\u304b\u3044\u3068\u3053\u308d\u3067\u3064\u307e\u3065\u304d\u306a\u304c\u3089\u3082\u3001\u5c11\u3057\u305a\u3064\u4f5c\u3063\u3066\u3044\u304d\u307e\u3057\u305f\u3002<\/p>\n<h3>\u672c\u756a\u3067\u4e00\u822c\u516c\u958b<\/h3>\n<p>VPS\u4e0a\u3067\u52d5\u4f5c\u3055\u305b\u308b\u305f\u3081\u306b\u3001VPS\u4e0a\u3067\u3082\u3044\u308d\u3044\u308d\u3068\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u305b\u3089\u308c\u307e\u3057\u305f\u3002<\/p>\n<p>\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u3067\u306f\u3001\u958b\u767a\u30b5\u30fc\u30d0\u30fc\u3067\u52d5\u304b\u3059\u306e\u3067\u3059\u304c\u3001\u672c\u756a\u74b0\u5883\u3067\u306f gunicorn \u3068\u3044\u3046\u306e\u304c\u5fc5\u8981\u307f\u305f\u3044\u3067\u3059\u3002<\/p>\n<p>\u3068\u308a\u3042\u3048\u305a\u624b\u52d5\u3067\u8d77\u52d5\u3057\u3066\u307f\u3066\u3001\u52d5\u3044\u305f\u3089\u30b5\u30fc\u30d3\u30b9\u5316\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\npip install gunicorn\r\ngunicorn -w 3 -b 127.0.0.1:8000 run:app\r\n<\/pre>\n<h3>\u6c17\u306b\u306a\u3063\u305f\u70b9<\/h3>\n<p>Python+Flask\u3092\u521d\u3081\u3066\u4f7f\u3063\u3066\u307f\u305f\u306e\u3067\u3059\u304c\u3001\u8a2d\u8a08\u7684\u306b\u6c17\u306b\u306a\u308b\u3068\u3053\u308d\u304c\u3044\u304f\u3064\u304b\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<h4>models.py\u306b\u96c6\u307e\u308a\u304c\u3061\u554f\u984c<\/h4>\n<p>\u4eca\u56de\u306e\u30a2\u30d7\u30ea\u3067\u306f\u3001models.py \u3044\u3059\u3079\u3066\u306e\u30e2\u30c7\u30eb\u304c\u5165\u3063\u305f\u72b6\u614b\u306b\u306a\u3063\u3066\u307e\u3059\u3002<br \/>\n\u305f\u3076\u3093\u30e2\u30c7\u30eb\u5225\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u5206\u5272\u3059\u308b\u65b9\u6cd5\u3082\u3042\u308b\u306e\u3060\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u30d5\u30a1\u30a4\u30eb\u540d\u304c models.py \u306a\u3060\u3051\u306b\u3001\u3053\u3053\u306b\u5168\u90e8\u66f8\u3051\u3068\u3044\u3046\u610f\u56f3\u3092\u611f\u3058\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u66f8\u304d\u65b9\u3060\u3068\u3001\u30d5\u30a1\u30a4\u30eb\u304c\u80a5\u5927\u5316\u3057\u3084\u3059\u3044\u3057\u3001\u51dd\u96c6\u5ea6\u304c\u4e0b\u304c\u308a\u304c\u3061\u3060\u3057\u3001\u7d50\u679c\u7684\u306b\u898b\u901a\u3057\u304c\u308f\u308b\u304f\u306a\u308b\u5f0a\u5bb3\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<h4>routes.py\u306b\u5168\u90e8\u304c\u96c6\u307e\u308a\u304c\u3061\u554f\u984c<\/h4>\n<p>ChatGPT\u304c\u63d0\u6848\u3057\u305f\u30b3\u30fc\u30c9\u306f\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3068\u30ed\u30b8\u30c3\u30af\u3068DB\u30a2\u30af\u30bb\u30b9\u306e\u3059\u3079\u3066\u304c routes.py \u306b\u96c6\u307e\u3063\u3066\u307e\u3059\u3002<\/p>\n<p>\u4eca\u56de\u306f\u5c0f\u3055\u306a\u30a2\u30d7\u30ea\u3067\u3057\u305f\u304c\u3001\u3053\u308c\u3067\u3082\u30e4\u30d0\u3044\u611f\u3058\u3057\u304b\u306a\u3044\u3067\u3059\u3002<\/p>\n<p>\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3068\u30ed\u30b8\u30c3\u30af\u3068DB\u30a2\u30af\u30bb\u30b9\u306f\u3001\u5225\u30d5\u30a1\u30a4\u30eb\u306b\u5206\u96e2\u3057\u305f\u3044\u3067\u3059\u306d\u3002<\/p>\n<h4>\u5b9f\u884c\u74b0\u5883\u304c\u3081\u3093\u3069\u3046<\/h4>\n<p>\u4f5c\u3063\u3066\u3044\u3066\u3001venv \u3059\u308b\u306e\u3092\u5fd8\u308c\u3066\u3001\u52d5\u304b\u306a\u3044\u3053\u3068\u304c\u591a\u304b\u3063\u305f\u3067\u3059\u3002<\/p>\n<h3>\u307e\u3068\u3081<\/h3>\n<p>Flask\u306f\u5c0f\u898f\u6a21\u30b7\u30b9\u30c6\u30e0\u306a\u3089\u5b66\u7fd2\u30b3\u30b9\u30c8\u304c\u4f4e\u304f\u3066\u3044\u3044\u304b\u306a\u3068\u601d\u3044\u307e\u3057\u305f\u304c\u3001\u8a2d\u8a08\u9762\u3067\u306f\u30d5\u30a1\u30a4\u30eb\u5206\u5272\u3092\u304d\u3061\u3093\u3068\u8003\u616e\u3057\u306a\u3044\u3068\u3068\u3063\u6563\u3089\u304b\u308b\u306a\u3068\u601d\u3044\u307e\u3057\u305f\u3002<\/p>\n<div id=\"rinkerid519\" class=\"yyi-rinker-contents  yyi-rinker-postid-519 yyi-rinker-img-m yyi-rinker-catid-193 \">\n\t<div class=\"yyi-rinker-box\">\n\t\t<div class=\"yyi-rinker-image\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/hb.afl.rakuten.co.jp\/hgc\/g00q0721.romsvb19.g00q0721.romswa51\/Rinker_i_20260418171803?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F17341193%2F&#038;m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F20818270%2F&#038;rafcid=wsc_i_is_62f699306e5bfe09a3b1967fa840e8f4\" rel=\"nofollow\" class=\"yyi-rinker-tracking\"  data-click-tracking=\"rakuten_img 519 Python\u306e\u300c\u30de\u30a4\u30af\u30ed\u30fb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u300d\u300cFlask\u300d\u5165\u9580 \uff08I\/OBOOKS\uff09 [ \u6e05\u6c34\u3000\u7f8e\u6a39 ]\" data-vars-click-id=\"rakuten_img 519 Python\u306e\u300c\u30de\u30a4\u30af\u30ed\u30fb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u300d\u300cFlask\u300d\u5165\u9580 \uff08I\/OBOOKS\uff09 [ \u6e05\u6c34\u3000\u7f8e\u6a39 ]\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/thumbnail.image.rakuten.co.jp\/@0_mall\/book\/cabinet\/2279\/9784777522279_1_2.jpg?_ex=128x128\"  width=\"128\" height=\"128\" class=\"yyi-rinker-main-img\" style=\"border: none;\"><\/a>\t\t\t\t\t<\/div>\n\t\t<div class=\"yyi-rinker-info\">\n\t\t\t<div class=\"yyi-rinker-title\">\n\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/hb.afl.rakuten.co.jp\/hgc\/g00q0721.romsvb19.g00q0721.romswa51\/Rinker_t_20260418171803?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F17341193%2F&#038;m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F20818270%2F&#038;rafcid=wsc_i_is_62f699306e5bfe09a3b1967fa840e8f4\" rel=\"nofollow\" class=\"yyi-rinker-tracking\" data-click-tracking=\"rakuten_title 519 Python\u306e\u300c\u30de\u30a4\u30af\u30ed\u30fb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u300d\u300cFlask\u300d\u5165\u9580 \uff08I\/OBOOKS\uff09 [ \u6e05\u6c34\u3000\u7f8e\u6a39 ]\" data-vars-amp-click-id=\"rakuten_title 519 Python\u306e\u300c\u30de\u30a4\u30af\u30ed\u30fb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u300d\u300cFlask\u300d\u5165\u9580 \uff08I\/OBOOKS\uff09 [ \u6e05\u6c34\u3000\u7f8e\u6a39 ]\" >Python\u306e\u300c\u30de\u30a4\u30af\u30ed\u30fb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u300d\u300cFlask\u300d\u5165\u9580 \uff08I\/OBOOKS\uff09 [ \u6e05\u6c34\u3000\u7f8e\u6a39 ]<\/a>\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"yyi-rinker-detail\">\n\t\t\t\t\t\t\t<div class=\"credit-box\">created by&nbsp;<a href=\"https:\/\/oyakosodate.com\/rinker\/\" rel=\"nofollow noopener\" target=\"_blank\" >Rinker<\/a><\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"price-box\">\n\t\t\t\t\t\t\t<span title=\"\" class=\"price\">\u00a52,420<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"price_at\">(2026\/04\/20 17:50:58\u6642\u70b9&nbsp;\u697d\u5929\u5e02\u5834\u8abf\u3079-<\/span><span title=\"\u3053\u306e\u30b5\u30a4\u30c8\u3067\u63b2\u8f09\u3055\u308c\u3066\u3044\u308b\u60c5\u5831\u306f\u5f53\u30b5\u30a4\u30c8\u306e\u4f5c\u6210\u8005\u306b\u3088\u308a\u904b\u55b6\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u4fa1\u683c\u3001\u8ca9\u58f2\u53ef\u80fd\u60c5\u5831\u306f\u3001\u5909\u66f4\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u8cfc\u5165\u6642\u306b\u697d\u5929\u5e02\u5834\u5e97\u8217\uff08www.rakuten.co.jp\uff09\u306b\u8868\u793a\u3055\u308c\u3066\u3044\u308b\u4fa1\u683c\u304c\u305d\u306e\u5546\u54c1\u306e\u8ca9\u58f2\u306b\u9069\u7528\u3055\u308c\u307e\u3059\u3002\">\u8a73\u7d30)<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<ul class=\"yyi-rinker-links\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t                    <li class=\"amazonlink\">\n\t\t\t\t\t\t<a href=\"https:\/\/www.amazon.co.jp\/gp\/search?ie=UTF8&amp;keywords=Flask&amp;tag=satoshis-22&amp;index=blended&amp;linkCode=ure&amp;creative=6339\" rel=\"nofollow\" class=\"yyi-rinker-link yyi-rinker-tracking\"  data-click-tracking=\"amazon 519 Python\u306e\u300c\u30de\u30a4\u30af\u30ed\u30fb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u300d\u300cFlask\u300d\u5165\u9580 \uff08I\/OBOOKS\uff09 [ \u6e05\u6c34\u3000\u7f8e\u6a39 ]\"  data-vars-amp-click-id=\"amazon 519 Python\u306e\u300c\u30de\u30a4\u30af\u30ed\u30fb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u300d\u300cFlask\u300d\u5165\u9580 \uff08I\/OBOOKS\uff09 [ \u6e05\u6c34\u3000\u7f8e\u6a39 ]\">Amazon<\/a>\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<li class=\"rakutenlink\">\n\t\t\t\t\t\t<a href=\"https:\/\/hb.afl.rakuten.co.jp\/hgc\/g00q0721.romsvb19.g00q0721.romswa51\/Rinker_t_20260418171803?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F17341193%2F&amp;m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F20818270%2F&amp;rafcid=wsc_i_is_62f699306e5bfe09a3b1967fa840e8f4\" rel=\"nofollow\" class=\"yyi-rinker-link yyi-rinker-tracking\"  data-click-tracking=\"rakuten 519 Python\u306e\u300c\u30de\u30a4\u30af\u30ed\u30fb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u300d\u300cFlask\u300d\u5165\u9580 \uff08I\/OBOOKS\uff09 [ \u6e05\u6c34\u3000\u7f8e\u6a39 ]\"  data-vars-amp-click-id=\"rakuten 519 Python\u306e\u300c\u30de\u30a4\u30af\u30ed\u30fb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u300d\u300cFlask\u300d\u5165\u9580 \uff08I\/OBOOKS\uff09 [ \u6e05\u6c34\u3000\u7f8e\u6a39 ]\">\u697d\u5929\u5e02\u5834<\/a>\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<li class=\"yahoolink\">\n\t\t\t\t\t\t<a href=\"https:\/\/shopping.yahoo.co.jp\/search?p=Flask\" rel=\"nofollow\" class=\"yyi-rinker-link yyi-rinker-tracking\"  data-click-tracking=\"yahoo 519 Python\u306e\u300c\u30de\u30a4\u30af\u30ed\u30fb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u300d\u300cFlask\u300d\u5165\u9580 \uff08I\/OBOOKS\uff09 [ \u6e05\u6c34\u3000\u7f8e\u6a39 ]\"  data-vars-amp-click-id=\"yahoo 519 Python\u306e\u300c\u30de\u30a4\u30af\u30ed\u30fb\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u300d\u300cFlask\u300d\u5165\u9580 \uff08I\/OBOOKS\uff09 [ \u6e05\u6c34\u3000\u7f8e\u6a39 ]\">Yahoo\u30b7\u30e7\u30c3\u30d4\u30f3\u30b0<\/a>\t\t\t\t\t<\/li>\n\t\t\t\t                \t\t\t\t\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>\u6700\u8fd1\u3001\u500b\u4eba\u7684\u306a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3068\u3057\u3066\u3001\u30b7\u30f3\u30d7\u30eb\u306a\u65e5\u7a0b\u8abf\u6574\u30b5\u30fc\u30d3\u30b9\u300c\u3054\u90fd\u5408\u304f\u3093\u300d\u3092\u4f5c\u308a\u307e\u3057\u305f\u3002 \u226b \u3054\u90fd\u5408\u304f\u3093 \u30c8\u30c3\u30d7\u30da\u30fc\u30b8\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002 \u98f2\u307f\u4f1a\u30fb\u9001\u5225\u4f1a\u30fb\u6b53\u8fce\u4f1a\u30fb\u6253\u3061\u5408\u308f\u305b\u306a\u3069\u3067\u3001\u5019\u88dc\u65e5\u3092\u4f5c\u3063\u3066URL &#8230; <\/p>\n","protected":false},"author":1,"featured_media":521,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[193],"tags":[192,191],"class_list":["post-516","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-flask","tag-flask","tag-python"],"nelio_content":{"autoShareEndMode":"never","automationSources":{"useCustomSentences":false,"customSentences":[]},"efiAlt":"","efiUrl":"","followers":[1],"highlights":[],"isAutoShareEnabled":true,"networkImageIds":[],"permalinkQueryArgs":[],"series":[],"suggestedReferences":[]},"views":24,"_links":{"self":[{"href":"https:\/\/software.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts\/516","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/software.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/software.satoshis.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/software.satoshis.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/software.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=516"}],"version-history":[{"count":3,"href":"https:\/\/software.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts\/516\/revisions"}],"predecessor-version":[{"id":522,"href":"https:\/\/software.satoshis.jp\/index.php?rest_route=\/wp\/v2\/posts\/516\/revisions\/522"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/software.satoshis.jp\/index.php?rest_route=\/wp\/v2\/media\/521"}],"wp:attachment":[{"href":"https:\/\/software.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=516"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/software.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=516"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/software.satoshis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}