{"id":7337,"date":"2019-08-16T21:01:22","date_gmt":"2019-08-16T12:01:22","guid":{"rendered":"http:\/\/umezawa.dyndns.info\/wordpress\/?p=7337"},"modified":"2019-08-16T22:05:26","modified_gmt":"2019-08-16T13:05:26","slug":"flask-%e3%81%a7%e5%be%8c%e5%a7%8b%e6%9c%ab%e9%96%a2%e6%95%b0%e3%81%8c%e5%91%bc%e3%81%b0%e3%82%8c%e3%82%8b%e9%a0%86%e5%ba%8f","status":"publish","type":"post","link":"http:\/\/umezawa.dyndns.info\/wordpress\/?p=7337","title":{"rendered":"Flask \u3067\u5f8c\u59cb\u672b\u30e1\u30bd\u30c3\u30c9\u304c\u547c\u3070\u308c\u308b\u9806\u5e8f"},"content":{"rendered":"<p>Flask \u3067\u3001\u5f8c\u59cb\u672b\u30e1\u30bd\u30c3\u30c9\u3067\u3042\u308b teardown_appcontext teardown_request after_request \u304c\u547c\u3070\u308c\u308b\u9806\u5e8f\u3002\u30b0\u30b0\u3063\u3066\u3082\u305d\u306e\u3082\u306e\u30ba\u30d0\u30ea\u304c\u30d2\u30c3\u30c8\u3057\u306a\u304b\u3063\u305f\u306e\u3067\u3002<\/p>\n<p><!--more--><\/p>\n<blockquote>\n<pre>\r\nfrom flask import Flask\r\n\r\napp = Flask(__name__)\r\n\r\n@app.after_request\r\ndef after_request(x):\r\n\tprint(\"after_request\")\r\n\treturn x\r\n\r\n@app.teardown_request\r\ndef teardown_request(x):\r\n\tprint(\"teardown_request\")\r\n\r\n@app.teardown_appcontext\r\ndef teardown_appcontext(x):\r\n\tprint(\"teardown_appcontext\")\r\n\r\n@app.route(\"\/\")\r\ndef view():\r\n\treturn \"\"\r\n\r\napp.run(debug=True, host=\"0.0.0.0\")\r\n<\/pre>\n<\/blockquote>\n<p>\u7d50\u679c<\/p>\n<blockquote>\n<pre>\r\n[umezawa@devubuntu:pts\/0 ~]$ python3 flask_teardown_order.py\r\n * Running on http:\/\/0.0.0.0:5000\/ (Press CTRL+C to quit)\r\n * Restarting with stat\r\n * Debugger is active!\r\n * Debugger PIN: 702-370-689\r\nafter_request\r\nteardown_request\r\nteardown_appcontext\r\n192.168.0.4 - - [16\/Aug\/2019 20:31:53] \"GET \/ HTTP\/1.1\" 200 -\r\n<\/pre>\n<\/blockquote>\n<p>\u74b0\u5883:<\/p>\n<ul>\n<li>Ubuntu 18.04 LTS<\/li>\n<li>Flask 0.12.2<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Flask \u3067\u3001\u5f8c\u59cb\u672b\u30e1\u30bd\u30c3\u30c9\u3067\u3042\u308b teardown_appcontext teardown_request after_request \u304c\u547c\u3070\u308c\u308b\u9806\u5e8f\u3002\u30b0\u30b0\u3063\u3066\u3082\u305d\u306e\u3082\u306e\u30ba\u30d0\u30ea\u304c\u30d2\u30c3\u30c8\u3057\u306a\u304b\u3063\u305f\u306e\u3067\u3002<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[],"class_list":["post-7337","post","type-post","status-publish","format-standard","hentry","category-technology"],"_links":{"self":[{"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/7337","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7337"}],"version-history":[{"count":4,"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/7337\/revisions"}],"predecessor-version":[{"id":7341,"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/7337\/revisions\/7341"}],"wp:attachment":[{"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7337"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7337"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/umezawa.dyndns.info\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}