{"id":1119,"date":"2019-04-01T07:04:14","date_gmt":"2019-03-31T22:04:14","guid":{"rendered":"http:\/\/idealive.jp\/blog\/?p=1119"},"modified":"2019-04-01T07:04:14","modified_gmt":"2019-03-31T22:04:14","slug":"flask%e3%81%ab%e3%81%a6%e3%80%8c__init__-py%e3%80%8d%e3%82%92%e4%bd%9c%e6%88%90","status":"publish","type":"post","link":"https:\/\/idealive.jp\/blog\/2019\/04\/01\/flask%e3%81%ab%e3%81%a6%e3%80%8c__init__-py%e3%80%8d%e3%82%92%e4%bd%9c%e6%88%90\/","title":{"rendered":"Flask\u306b\u3066\u300c__init__.py\u300d\u3092\u4f5c\u6210"},"content":{"rendered":"<p>Flask\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u3089\u8272\u3005\u306a\u30af\u30e9\u30b9\u3084\u95a2\u6570\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3067\u304d\u308b\u3088\u3046\u306b\u300c__init__.py\u300d\u3092\u5229\u7528\u3057\u3066\u5546\u54c1\u30ea\u30b9\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">web\r\n\u2514\u2500\u2500 __init__.py     (1)\u30fb\u30fb\u30fb\u3000\u65b0\u898f\u4f5c\u6210\r\n\u2514\u2500\u2500 templates\r\n|  \u2514\u2500\u2500 base.html     \r\n|  \u2514\u2500\u2500 index.html   (2)\u30fb\u30fb\u30fb\u3000\u65b0\u898f\u4f5c\u6210\r\n\u2514\u2500\u2500 static\r\n   \u2514\u2500\u2500 style.css   (3)\u30fb\u30fb\u30fb\u3000\u8ffd\u52a0\r\n<\/pre>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>(1)\u00a0__init__.py<\/p>\n<p>\u300c__init__.py\u300d\u306b\u3064\u3044\u3066\u3001\u4ee5\u4e0b\u306e\u5f79\u5272\u3092\u3057\u307e\u3059\u3002<\/p>\n<p>\u30fb\u30e2\u30b8\u30e5\u30fc\u30eb\u3092import\u3084\u95a2\u6570\u306e\u521d\u671f\u51e6\u7406<\/p>\n<p>\u30fbPython\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u8868\u3059<\/p>\n<pre class=\"lang:default decode:true\" title=\"__init__.py\">from flask import Flask, render_template\r\n\r\ndef create_app():\r\n    app = Flask(__name__)\r\n    \r\n    @app.route('\/list')\r\n    def apptest():\r\n        return render_template('index.html', items=get_testdata())\r\n    \r\n    def get_testdata():\r\n        return [\r\n            {'id':1, 'item_name':'\u30ad\u30e3\u30d9\u30c4', 'price':200},\r\n            {'id':2, 'item_name':'\u306b\u3093\u3058\u3093', 'price':100},\r\n            {'id':3, 'item_name':'\u725b\u4e73', 'price':178},\r\n            {'id':4, 'item_name':'\u3082\u3084\u3057', 'price':50},\r\n        ]\r\n\r\n    return app\r\n<\/pre>\n<p>10\uff5e16\u884c\u76ee\u306b\u5546\u54c1\u30ea\u30b9\u30c8\u60c5\u5831\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\uff08\u203b\u4eca\u5f8c\u3001SQLite\u304b\u3089\u8aad\u307f\u8fbc\u3080\u4e88\u5b9a\uff09<\/p>\n<hr \/>\n<p>(2)index.html<\/p>\n<p>(1)\u3067\u8aad\u307f\u8fbc\u3093\u3060\u5546\u54c1\u30ea\u30b9\u30c8\u3092\u8868\u793a<\/p>\n<pre class=\"lang:default decode:true\" title=\"index.html\">{% extends 'base.html' %}\r\n\r\n{% block title %}Search{% endblock %}\r\n\r\n{% block content %}\r\n    &lt;table&gt;\r\n        &lt;tr class='keyname'&gt;\r\n            &lt;th&gt;\u5546\u54c1\u540d&lt;\/th&gt;\r\n            &lt;th&gt;\u4fa1\u683c&lt;\/th&gt;\r\n        &lt;\/tr&gt;\r\n        {% for item in items %}\r\n            &lt;tr&gt;\r\n            &lt;td&gt;{{item['item_name']}}&lt;\/td&gt;\r\n            &lt;td&gt;{{item['price']}}&lt;\/td&gt;\r\n        {% endfor %}\r\n    &lt;\/table&gt;\r\n{%  endblock %}\r\n<\/pre>\n<hr \/>\n<p>(3)style.css \uff08\u8ffd\u8a18\uff09<\/p>\n<p>\u5546\u54c1\u30ea\u30b9\u30c8\u5206\u3092\u8ffd\u8a18<\/p>\n<pre class=\"lang:default decode:true\" title=\"style.css\">table{\r\n    background:lavender;\r\n    margin-left:20px;\r\n    padding:10px;\r\n}\r\n\r\ntd,th{\r\n    text-align: left;\r\n    padding-right:10px;\r\n}\r\n\r\n.keyname{\r\n    color:navy;\r\n}\r\n\r\n.list{\r\n    padding-bottom:10px;\r\n}<\/pre>\n<hr \/>\n<p>\u30fb\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092Anaconda Prompt\u3067\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">set FLASK_APP=web\r\nset FLASK_ENV=development\r\nflask run\r\n<\/pre>\n<p>\u300cFLASK_APP\u300d\u306f\u300c__init__.py\u300d\u304c\u3042\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u540d\u3001\u300cFLASK_ENV\u300d\u306f\u958b\u767a\u74b0\u5883\u3001\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<hr \/>\n<p>\u30fb\u5b9f\u884c\u7d50\u679c<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1127\" src=\"https:\/\/idealive.jp\/blog\/wp-content\/uploads\/2019\/04\/1-1-300x219.png\" alt=\"\" width=\"300\" height=\"219\" srcset=\"https:\/\/idealive.jp\/blog\/wp-content\/uploads\/2019\/04\/1-1-300x219.png 300w, https:\/\/idealive.jp\/blog\/wp-content\/uploads\/2019\/04\/1-1.png 545w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Flask\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u3089\u8272\u3005\u306a\u30af\u30e9\u30b9\u3084\u95a2\u6570\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3067\u304d\u308b\u3088\u3046\u306b\u300c__init__.py\u300d\u3092\u5229\u7528\u3057\u3066\u5546\u54c1\u30ea\u30b9\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002 web \u2514\u2500\u2500 __init__.py (1)\u30fb\u30fb\u30fb\u3000\u65b0\u898f\u4f5c\u6210 \u2514\u2500\u2500 templates&#8230;<a class=\"read-more-link button\" href=\"https:\/\/idealive.jp\/blog\/2019\/04\/01\/flask%e3%81%ab%e3%81%a6%e3%80%8c__init__-py%e3%80%8d%e3%82%92%e4%bd%9c%e6%88%90\/\">\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":9,"featured_media":1125,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-1119","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/posts\/1119"}],"collection":[{"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/comments?post=1119"}],"version-history":[{"count":8,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/posts\/1119\/revisions"}],"predecessor-version":[{"id":1230,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/posts\/1119\/revisions\/1230"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/media\/1125"}],"wp:attachment":[{"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/media?parent=1119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/categories?post=1119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/tags?post=1119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}