{"id":282,"date":"2020-12-22T16:07:16","date_gmt":"2020-12-22T16:07:16","guid":{"rendered":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/?post_type=chapter&#038;p=282"},"modified":"2020-12-28T01:44:13","modified_gmt":"2020-12-28T01:44:13","slug":"html-flaskis-mallid","status":"publish","type":"chapter","link":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/chapter\/html-flaskis-mallid\/","title":{"raw":"HTML Flaskis, mallid","rendered":"HTML Flaskis, mallid"},"content":{"raw":"HTML-koodi saab kasutada samas py-failis. N\u00e4iteks v\u00f5ib app.py sisu olla ka j\u00e4rgnev:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">from flask import Flask\r\n\r\napp = Flask(__name__)\r\n\r\n@app.route('\/')\r\ndef index():\r\n\u00a0 \u00a0 return '&lt;h1&gt;Pealkiri&lt;\/h1&gt;&lt;p&gt;Lehe sisu&lt;\/p&gt;'\r\n\r\nif __name__ == '__main__':\r\n\u00a0 \u00a0 app.run()<\/pre>\r\nN\u00e4ite tulemus veebis n\u00e4eb v\u00e4lja j\u00e4rgnev:\r\n\r\n<img class=\"alignnone wp-image-347 size-full\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image5.png\" alt=\"HTML Flaskis n\u00e4ide\" width=\"232\" height=\"128\" \/>\r\n\r\nTulemuse vaatamiseks k\u00e4ivitame programmi Thonnys ja l\u00e4hme aadressile\r\n\r\n<a href=\"http:\/\/127.0.0.1:5000\/\">http:\/\/127.0.0.1:5000\/<\/a> (kuna failitee m\u00e4\u00e4rasime <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">@app.route('\/')<\/code>, leiamegi tulemuse avalehelt).\r\n\r\nKuna tavaliselt on html-i vaja kirjutada palju, siis on selleks m\u00f5istlik kasutada eraldi faile. Selleks loome oma arvutis failiga app.py samasse kausta uue kausta nimega <em>templates<\/em>. Kausta <em>templates<\/em> loome faili avaleht.html. Seda saame teha n\u00e4iteks <em>Notepadiga<\/em>, salvestades faili laiendiga html (kirjutame faili nime j\u00e4rele .html). Salvestust\u00fc\u00fcbiks valime K\u00f5ik failid ja kodeeringuks <em>UTF-8<\/em>.\r\n\r\nSelle faili sisuks kirjutame esialgu html-p\u00f5histrukruuri ja lisame eelmise n\u00e4itega sama sisu:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n&lt;meta charset=\"UTF-8\"&gt;\r\n&lt;title&gt;Minu esimene veebileht&lt;\/title&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n&lt;h1&gt;Pealkiri&lt;\/h1&gt;\r\n&lt;p&gt;Lehe sisu&lt;\/p&gt;\r\n\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\r\nLoodud kaust arvutis:\r\n\r\n<img class=\"alignnone wp-image-348 size-full\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image6.png\" alt=\"Loodus kaust arvutis\" width=\"609\" height=\"130\" \/>\r\n\r\nKeskkonnas PythonAnywhere avame kausta <em>mysite<\/em> ja loome sinna <em>templates<\/em> kausta (<em>mysite<\/em> alamkaustana).\r\n\r\n<img class=\"alignnone wp-image-349\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image18.png\" alt=\"PythonAnywhere\" width=\"700\" height=\"231\" \/>\r\n\r\nN\u00fc\u00fcd l\u00e4heme tagasi faili app.py ja vaatame, kuidas loodud malli renderdada.\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">from flask import Flask, render_template\r\n\r\napp = Flask(__name__)\r\n\r\n@app.route('\/')\r\ndef index():\r\n\u00a0 \u00a0 return render_template('avaleht.html') # malli renderdamine\r\n\r\nif __name__ == '__main__':\r\n\u00a0 \u00a0 app.run()<\/pre>\r\n&nbsp;","rendered":"<p>HTML-koodi saab kasutada samas py-failis. N\u00e4iteks v\u00f5ib app.py sisu olla ka j\u00e4rgnev:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">from flask import Flask\r\n\r\napp = Flask(__name__)\r\n\r\n@app.route('\/')\r\ndef index():\r\n\u00a0 \u00a0 return '&lt;h1&gt;Pealkiri&lt;\/h1&gt;&lt;p&gt;Lehe sisu&lt;\/p&gt;'\r\n\r\nif __name__ == '__main__':\r\n\u00a0 \u00a0 app.run()<\/pre>\n<p>N\u00e4ite tulemus veebis n\u00e4eb v\u00e4lja j\u00e4rgnev:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-347 size-full\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image5.png\" alt=\"HTML Flaskis n\u00e4ide\" width=\"232\" height=\"128\" srcset=\"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image5.png 232w, https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image5-65x36.png 65w, https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image5-225x124.png 225w\" sizes=\"auto, (max-width: 232px) 100vw, 232px\" \/><\/p>\n<p>Tulemuse vaatamiseks k\u00e4ivitame programmi Thonnys ja l\u00e4hme aadressile<\/p>\n<p><a href=\"http:\/\/127.0.0.1:5000\/\">http:\/\/127.0.0.1:5000\/<\/a> (kuna failitee m\u00e4\u00e4rasime <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">@app.route('\/')<\/code>, leiamegi tulemuse avalehelt).<\/p>\n<p>Kuna tavaliselt on html-i vaja kirjutada palju, siis on selleks m\u00f5istlik kasutada eraldi faile. Selleks loome oma arvutis failiga app.py samasse kausta uue kausta nimega <em>templates<\/em>. Kausta <em>templates<\/em> loome faili avaleht.html. Seda saame teha n\u00e4iteks <em>Notepadiga<\/em>, salvestades faili laiendiga html (kirjutame faili nime j\u00e4rele .html). Salvestust\u00fc\u00fcbiks valime K\u00f5ik failid ja kodeeringuks <em>UTF-8<\/em>.<\/p>\n<p>Selle faili sisuks kirjutame esialgu html-p\u00f5histrukruuri ja lisame eelmise n\u00e4itega sama sisu:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n&lt;meta charset=\"UTF-8\"&gt;\r\n&lt;title&gt;Minu esimene veebileht&lt;\/title&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n&lt;h1&gt;Pealkiri&lt;\/h1&gt;\r\n&lt;p&gt;Lehe sisu&lt;\/p&gt;\r\n\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p>Loodud kaust arvutis:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-348 size-full\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image6.png\" alt=\"Loodus kaust arvutis\" width=\"609\" height=\"130\" srcset=\"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image6.png 609w, https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image6-300x64.png 300w, https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image6-65x14.png 65w, https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image6-225x48.png 225w, https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image6-350x75.png 350w\" sizes=\"auto, (max-width: 609px) 100vw, 609px\" \/><\/p>\n<p>Keskkonnas PythonAnywhere avame kausta <em>mysite<\/em> ja loome sinna <em>templates<\/em> kausta (<em>mysite<\/em> alamkaustana).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-349\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image18.png\" alt=\"PythonAnywhere\" width=\"700\" height=\"231\" srcset=\"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image18.png 1048w, https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image18-300x99.png 300w, https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image18-1024x338.png 1024w, https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image18-768x254.png 768w, https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image18-65x21.png 65w, https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image18-225x74.png 225w, https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-content\/uploads\/sites\/18\/2020\/12\/image18-350x116.png 350w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n<p>N\u00fc\u00fcd l\u00e4heme tagasi faili app.py ja vaatame, kuidas loodud malli renderdada.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"bootstrap4\" data-enlighter-linenumbers=\"false\">from flask import Flask, render_template\r\n\r\napp = Flask(__name__)\r\n\r\n@app.route('\/')\r\ndef index():\r\n\u00a0 \u00a0 return render_template('avaleht.html') # malli renderdamine\r\n\r\nif __name__ == '__main__':\r\n\u00a0 \u00a0 app.run()<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"author":29,"menu_order":3,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-282","chapter","type-chapter","status-publish","hentry"],"part":100,"_links":{"self":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapters\/282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/wp\/v2\/users\/29"}],"version-history":[{"count":6,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapters\/282\/revisions"}],"predecessor-version":[{"id":446,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapters\/282\/revisions\/446"}],"part":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/parts\/100"}],"metadata":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapters\/282\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/wp\/v2\/media?parent=282"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/pressbooks\/v2\/chapter-type?post=282"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/wp\/v2\/contributor?post=282"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/tarkvara2\/wp-json\/wp\/v2\/license?post=282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}