{"id":1598,"date":"2019-06-21T08:05:22","date_gmt":"2019-06-20T23:05:22","guid":{"rendered":"http:\/\/idealive.jp\/blog\/?p=1598"},"modified":"2019-06-21T08:05:22","modified_gmt":"2019-06-20T23:05:22","slug":"%e5%89%8a%e9%99%a4%e6%a9%9f%e8%83%bd%e3%82%92%e8%bf%bd%e5%8a%a0%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/idealive.jp\/blog\/2019\/06\/21\/%e5%89%8a%e9%99%a4%e6%a9%9f%e8%83%bd%e3%82%92%e8%bf%bd%e5%8a%a0%e3%81%99%e3%82%8b\/","title":{"rendered":"\u524a\u9664\u6a5f\u80fd\u3092\u8ffd\u52a0\u3059\u308b"},"content":{"rendered":"<p>\u524d\u56de\u3067\u306fSQLite3\u306b\u5546\u54c1\u60c5\u5831\u3092\u66f4\u65b0\u3059\u308b\u6a5f\u80fd\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u304c\u3001\u4eca\u56de\u306f\u5546\u54c1\u60c5\u5831\u3092\u524a\u9664\u3059\u308b\u6a5f\u80fd\u3092\u4f5c\u6210\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">instance\r\n\u2514\u2500\u2500 create_db.py\r\n\u2514\u2500\u2500 itemdb.sqlite3\r\nweb\r\n\u2514\u2500\u2500 itemdb.py\r\n\u2514\u2500\u2500 __init__.py\r\n\u2514\u2500\u2500 templates\r\n|  \u2514\u2500\u2500 base.html\r\n|  \u2514\u2500\u2500 index.html        \r\n|  \u2514\u2500\u2500 newitem.html\r\n|  \u2514\u2500\u2500 updateitem.html  (1)\u30fb\u30fb\u30fb\u3000\u66f4\u65b0\r\n\u2514\u2500\u2500 items.py            (2)\u30fb\u30fb\u30fb\u3000\u66f4\u65b0 \r\n\u2514\u2500\u2500 static\r\n   \u2514\u2500\u2500 style.css<\/pre>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>(1)updateitem.html<\/p>\n<p>\u5546\u54c1\u60c5\u5831\u306e\u66f4\u65b0\u30da\u30fc\u30b8\u306b\u300c\u524a\u9664\u300d\u30dc\u30bf\u30f3\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\" title=\"updateitem.html\">{% extends 'base.html' %}\r\n\r\n{% block title %}\u5546\u54c1\u8a73\u7d30{% endblock %}\r\n\r\n{% block content %}\r\n    &lt;h2&gt;\u5546\u54c1\u8a73\u7d30&lt;\/h2&gt;\r\n    &lt;form class=\"itemform\" method=\"post\"&gt;\r\n        &lt;table&gt;\r\n            &lt;tr&gt;\r\n                &lt;td&gt;&lt;label for=\"item_name\"&gt;\u5546\u54c1\u540d\uff1a&lt;\/label&gt;&lt;\/td&gt;\r\n                &lt;td&gt;&lt;input name=\"item_name\" id=\"item_name\" value={{data['item_name']}}&gt;&lt;\/td&gt;\r\n            &lt;\/tr&gt;\r\n            &lt;tr&gt;\r\n                &lt;td&gt;&lt;label for=\"price\"&gt;\u4fa1\u683c\uff1a&lt;\/label&gt;&lt;\/td&gt;\r\n                &lt;td&gt;&lt;input name=\"price\" id=\"price\" value={{data['price']}}&gt;&lt;\/td&gt;\r\n            &lt;\/tr&gt;\r\n            &lt;tr&gt;\r\n                &lt;td&gt;&lt;button type = \"submit\" name = \"action\" value = 'update'&gt;\u66f4\u65b0&lt;\/button&gt;&lt;\/td&gt;\r\n                &lt;td&gt;&lt;button type = \"submit\" name = \"action\" value = 'delete'&gt;\u524a\u9664&lt;\/button&gt;&lt;\/td&gt;\r\n            &lt;\/tr&gt;\r\n        &lt;\/table&gt;\r\n    &lt;\/form&gt;\r\n{%  endblock %}\r\n<\/pre>\n<p>\u30fb18,19\u884c\u76ee\uff1abutton\u30bf\u30b0\u306b\u5909\u66f4\u3057\u3001\u300c\u524a\u9664\u300d\u30dc\u30bf\u30f3\u3092\u8ffd\u52a0<\/p>\n<hr \/>\n<p>(2)items.py<\/p>\n<p>\u524a\u9664\u51e6\u7406\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\" title=\"items.py\">(\u7701\u7565)\r\n\r\n@bp.route('\/items\/&lt;item_name&gt;', methods=('GET', 'POST'))\r\ndef update(item_name):\r\n    if request.method == 'POST':\r\n        if request.form['action'] == 'update':\r\n            item_name_new = request.form['item_name']\r\n            price = request.form['price']\r\n            db = get_db()\r\n            db.execute(\"UPDATE items SET item_name=?, price=? WHERE item_name=?\", (item_name_new, price, item_name))\r\n            db.commit()\r\n        elif request.form['action'] == 'delete':\r\n            db = get_db()\r\n            db.execute(\"DELETE FROM items WHERE item_name=?\", (item_name,))\r\n            db.commit()\r\n\r\n        return redirect(url_for('items.index'))\r\n\r\n    else:\r\n        db=get_db()\r\n        searchdata = db.execute(\r\n            \"SELECT * FROM items WHERE item_name like '%\"+item_name+\"%'\").fetchone()\r\n\r\n        return render_template('updateitem.html', data=searchdata)\r\n\r\n(\u7701\u7565)<\/pre>\n<p>\u30fb6\uff5e11\u884c\u76ee\uff1a\u66f4\u65b0\u51e6\u7406\u6a5f\u80fd\uff08POST\u3055\u308c\u305fbutton\u30bf\u30b0\u306evalue\u8981\u7d20\u304c&#8217;update&#8217;\u306e\u5834\u5408\uff09<\/p>\n<p>\u30fb12\uff5e15\u884c\u76ee\uff1a\u524a\u9664\u51e6\u7406\u6a5f\u80fd\uff08POST\u3055\u308c\u305fbutton\u30bf\u30b0\u306evalue\u8981\u7d20\u304c&#8217;delete&#8217;\u306e\u5834\u5408\uff09<\/p>\n<hr \/>\n<p>\u5b9f\u884c\u7d50\u679c\u306f\u4ee5\u4e0b\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u30fbTOP\u753b\u9762\u3000\u21d2\u3000&#8221;\u308c\u3093\u3053\u3093&#8221;\u3092\u9078\u629e<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1600\" src=\"https:\/\/idealive.jp\/blog\/wp-content\/uploads\/2019\/06\/1-292x300.png\" alt=\"\" width=\"292\" height=\"300\" srcset=\"https:\/\/idealive.jp\/blog\/wp-content\/uploads\/2019\/06\/1-292x300.png 292w, https:\/\/idealive.jp\/blog\/wp-content\/uploads\/2019\/06\/1.png 503w\" sizes=\"(max-width: 292px) 100vw, 292px\" \/><\/p>\n<p>\u30fb\u66f4\u65b0\u753b\u9762\u3000\u21d2\u3000\u300c\u524a\u9664\u300d\u30dc\u30bf\u30f3\u62bc\u4e0b<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1601\" src=\"https:\/\/idealive.jp\/blog\/wp-content\/uploads\/2019\/06\/2-292x300.png\" alt=\"\" width=\"292\" height=\"300\" srcset=\"https:\/\/idealive.jp\/blog\/wp-content\/uploads\/2019\/06\/2-292x300.png 292w, https:\/\/idealive.jp\/blog\/wp-content\/uploads\/2019\/06\/2.png 503w\" sizes=\"(max-width: 292px) 100vw, 292px\" \/><\/p>\n<p>\u30fb\u66f4\u65b0\u5f8c\u3000\u21d2\u3000&#8221;\u308c\u3093\u3053\u3093&#8221;\u304c\u524a\u9664<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1602\" src=\"https:\/\/idealive.jp\/blog\/wp-content\/uploads\/2019\/06\/3-292x300.png\" alt=\"\" width=\"292\" height=\"300\" srcset=\"https:\/\/idealive.jp\/blog\/wp-content\/uploads\/2019\/06\/3-292x300.png 292w, https:\/\/idealive.jp\/blog\/wp-content\/uploads\/2019\/06\/3.png 503w\" sizes=\"(max-width: 292px) 100vw, 292px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>\u4ee5\u4e0a\u3067\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u524d\u56de\u3067\u306fSQLite3\u306b\u5546\u54c1\u60c5\u5831\u3092\u66f4\u65b0\u3059\u308b\u6a5f\u80fd\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u304c\u3001\u4eca\u56de\u306f\u5546\u54c1\u60c5\u5831\u3092\u524a\u9664\u3059\u308b\u6a5f\u80fd\u3092\u4f5c\u6210\u3057\u3066\u3044\u304d\u307e\u3059\u3002 instance \u2514\u2500\u2500 create_db.py \u2514\u2500\u2500 itemdb.sqlite3 web \u2514\u2500\u2500 &#8230;<a class=\"read-more-link button\" href=\"https:\/\/idealive.jp\/blog\/2019\/06\/21\/%e5%89%8a%e9%99%a4%e6%a9%9f%e8%83%bd%e3%82%92%e8%bf%bd%e5%8a%a0%e3%81%99%e3%82%8b\/\">\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":9,"featured_media":1603,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,13],"tags":[],"class_list":["post-1598","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","category-database"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/posts\/1598"}],"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=1598"}],"version-history":[{"count":6,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/posts\/1598\/revisions"}],"predecessor-version":[{"id":1609,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/posts\/1598\/revisions\/1609"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/media\/1603"}],"wp:attachment":[{"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/media?parent=1598"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/categories?post=1598"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/tags?post=1598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}