From 80a72d699d5ffd41d04ec504e4a83861cce9f8e3 Mon Sep 17 00:00:00 2001 From: Jason Danker Date: Thu, 29 Sep 2016 14:05:02 -0700 Subject: [PATCH 1/2] lab-flask --- Labs/Lab9-Flask_Survey/Flask Lab 2.docx | Bin 0 -> 15663 bytes Labs/Lab9-Flask_Survey/Flask Lab 2.txt | 46 ++++ .../flaskLab2/app/__init__.py | 4 + .../flaskLab2/app/__init__.pyc | Bin 0 -> 278 bytes .../app/__pycache__/__init__.cpython-35.pyc | Bin 0 -> 285 bytes .../app/__pycache__/views.cpython-35.pyc | Bin 0 -> 1934 bytes .../flaskLab2/app/static/interactions.js | 38 +++ .../flaskLab2/app/static/main.css | 225 ++++++++++++++++++ .../flaskLab2/app/templates/base.html | 33 +++ .../flaskLab2/app/templates/login.html | 16 ++ .../app/templates/not_authorized.html | 13 + .../app/templates/page_not_found.html | 12 + .../flaskLab2/app/templates/results.html | 32 +++ .../flaskLab2/app/templates/survey.html | 32 +++ Labs/Lab9-Flask_Survey/flaskLab2/app/views.py | 49 ++++ .../Lab9-Flask_Survey/flaskLab2/app/views.pyc | Bin 0 -> 2299 bytes Labs/Lab9-Flask_Survey/flaskLab2/run.py | 3 + 17 files changed, 503 insertions(+) create mode 100644 Labs/Lab9-Flask_Survey/Flask Lab 2.docx create mode 100644 Labs/Lab9-Flask_Survey/Flask Lab 2.txt create mode 100755 Labs/Lab9-Flask_Survey/flaskLab2/app/__init__.py create mode 100755 Labs/Lab9-Flask_Survey/flaskLab2/app/__init__.pyc create mode 100644 Labs/Lab9-Flask_Survey/flaskLab2/app/__pycache__/__init__.cpython-35.pyc create mode 100644 Labs/Lab9-Flask_Survey/flaskLab2/app/__pycache__/views.cpython-35.pyc create mode 100755 Labs/Lab9-Flask_Survey/flaskLab2/app/static/interactions.js create mode 100755 Labs/Lab9-Flask_Survey/flaskLab2/app/static/main.css create mode 100755 Labs/Lab9-Flask_Survey/flaskLab2/app/templates/base.html create mode 100755 Labs/Lab9-Flask_Survey/flaskLab2/app/templates/login.html create mode 100755 Labs/Lab9-Flask_Survey/flaskLab2/app/templates/not_authorized.html create mode 100755 Labs/Lab9-Flask_Survey/flaskLab2/app/templates/page_not_found.html create mode 100755 Labs/Lab9-Flask_Survey/flaskLab2/app/templates/results.html create mode 100755 Labs/Lab9-Flask_Survey/flaskLab2/app/templates/survey.html create mode 100755 Labs/Lab9-Flask_Survey/flaskLab2/app/views.py create mode 100755 Labs/Lab9-Flask_Survey/flaskLab2/app/views.pyc create mode 100755 Labs/Lab9-Flask_Survey/flaskLab2/run.py diff --git a/Labs/Lab9-Flask_Survey/Flask Lab 2.docx b/Labs/Lab9-Flask_Survey/Flask Lab 2.docx new file mode 100644 index 0000000000000000000000000000000000000000..b846f172bcbfc9e987dcb59d1e05e1116f446c8f GIT binary patch literal 15663 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 +Creating a login page +2. Open the Ôlogin.htmlÕ template in your text editor +a. Make this file an extension of the Ôbase.htmlÕ template +b. Use the existing form and create form inputs that capture the userÕs name and email +c. Make sure the HTML in this file is replacing the block called ÔcontentÕ in the Ôbase.htmlÕ template +d. Make the form submit to the Ô/loginÕ endpoint +Creating a session +3. Open the Ôviews.pyÕ file in your text editor +a. Find the route for Ô/loginÕ +b. Within the Ôlogin()Õ function, if the request method is POST +i. set the sessionÕs ÔusernameÕ key to whatever the user entered for their username +ii. Redirect the user to the ÔindexÕ route +Extending and reusing content from the Ôbase.htmlÕ template for the Ôsurvey.htmlÕ template +4. Open the Ôsurvey.htmlÕ template in your text editor +a. Make this file an extension of the Ôbase.htmlÕ template +b. The HTML in this file for the form with the id of ÔlogoutÕ is currently replacing the entire contents of the
tag in the Ôbase.htmlÕ template. Using the super() function, pull in the original contents of the
tag from the Ôbase.htmlÕ template +c. Make sure the HTML in this file from the

and down is replacing the block called ÔcontentÕ in the Ôbase.htmlÕ template +Creating an Ajax request with the userÕs form inputs from Ôsurvey.htmlÕ +5. Open the Ôinteraction.jsÕ script in your text editor +a. Notice that the button from the Ôsurvey.htmlÕ template with the id Ôsubmit-surveyÕ has a click event binding +b. Also notice that there are variable declarations for each of the form input fields +c. Create a $.post() Ajax request within this ÔclickÕ event handler +i. The url for this Ajax request should point to Ôsubmit-surveyÕ +ii. The data parameter of this Ajax request should be an object whose key-value pairs correspond to the variables for each form input field +iii. The success function for this Ajax request should set the innerHTML of document.body.parentNode to the response data object +Rendering the survey results via Flask +6. Go back to the Ôviews.pyÕ file in your text editor +a. Find the route for Ô/submit-surveyÕ +b. YouÕll notice that an empty object has been assigned to the variable name ÔsurveyResponseÕ +c. YouÕll also notice that Ôfe-beforeÕ and Ôfe-afterÕ keys in the ÔsurveyResponseÕ object have been assigned values that correspond to values in the data object we passed in from step 5 above. +i. Assign the keys ÔcolorÕ, ÔfoodÕ, and ÔvacationÕ for the ÔsurveyResponseÕ object to corresponding values from the passed-in data object in a similar fashion +7. You should now be able to do the following: +a. Log into this simple survey web app with a username and email +b. Take the survey +c. See the survey results displayed + diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/__init__.py b/Labs/Lab9-Flask_Survey/flaskLab2/app/__init__.py new file mode 100755 index 0000000..9a4e940 --- /dev/null +++ b/Labs/Lab9-Flask_Survey/flaskLab2/app/__init__.py @@ -0,0 +1,4 @@ +from flask import Flask + +myapp = Flask(__name__) +from app import views diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/__init__.pyc b/Labs/Lab9-Flask_Survey/flaskLab2/app/__init__.pyc new file mode 100755 index 0000000000000000000000000000000000000000..4d4e5adeb859807192e959f25c2546b087e0a2ed GIT binary patch literal 278 zcmYjLOA5j;5S_GEL=-%N%dR9_Kd7L%5*LatBrv2lLNTeOiNCe?^D-Vlr$x~r^JZQi z^Je^Kvp(uSHaqx)M|DhTIYCU1fd()PwhWkJpggz}@k`AET>%roHUJj;unH?Ql)NZH zMx6@?W?I_AkDe2Cv5TlUe3``lh-p97D=Kuw9~)o>*Iz zTM^}H&XIF2rpg}NF%wd&tC-8EU2YNNA`p`_afqGlRxTWvV|>zTSh(Bb{Fc{XZ~f0Y AU;qFB literal 0 HcmV?d00001 diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/__pycache__/__init__.cpython-35.pyc b/Labs/Lab9-Flask_Survey/flaskLab2/app/__pycache__/__init__.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..70e9ec34ab1ecdfaea802d41c274b1c87ab791ef GIT binary patch literal 285 zcmX|)u};G<5Qfi53>Bgh6Ekau;?SWI5<&=}BBZJeRT;9J3^_zpJBjS3C^JvP%k%-f zGVuybTr$-1|M`4p>pLHhPqNAW`MCd%k(Ih?|sYlf-pj?v?atKZKsJQthhx)CxRBgSwC$}L(otkD>vx~VlMm;?*^sD0d9@mpWkE_=0_}L)l f_EfP&A(mCSMZ9dfFuJjI(HgoH?DPraEIJkcsV_%f literal 0 HcmV?d00001 diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/__pycache__/views.cpython-35.pyc b/Labs/Lab9-Flask_Survey/flaskLab2/app/__pycache__/views.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9a21251bdffceb481164996a5159d35c42e3c294 GIT binary patch literal 1934 zcmaJ>&5j#I5U!qI+v~sG4VwTVaEpA{ov;TaqzHusf)L1ya8RTXk~QmT@7g=#G2P>Z zwKn3gJOVGloA3l2`ieN@zzgh&uX^l_Nf2XqO?7p3P1RRFd#zUE`scr&|K$_?NgEIL z^axA01yPE>po}ON6bll(cPMixcPVx$_bB!#_bK)%4=4^O4=D~QuTfm9v|Y;T6xT`C zY1*LFqbosD&~S_Cv`MMIk}w}IpN5py=oexh|G2f*tWydLTa-5G#KDnBTa>m}nsIxr z*0Dyqly0w&I_smIH!SQ@dTXuLwQAdxzGW@!QF?oQgo`c>dUswjP(5M%{34mpdw~g+ z{9z$=X*x>IQmKZe%;#BBN)u|S^`w}Ynv&^6$x&&-h02EGLYYA7Q8JhPmv><9T13kr zn&9?NBR0AmS*zt{?jbcXTyR0 zcr@k>#D@{UjLs+WM}08AFuuhi#D{bPgxo+hMOSnk)x{22Sw~Hn%ks2HwQ;}r{F(8- zIT}2>!Ova;vG^T<0aR0zmY_3-)K_-v&=h!aAyMfu^N^J)sk@fCkor^xtICCL1*hLv zyD)1}F}}=`NoKw4h02B81eJ5fL%MV0p2)I7G~i1dngw!$boiEUBijb68G3R$Vh=yX zWwH!8?qX5?caRUDauXyne&vu@?NJD;y+b8Jw!v{EJ+E&AP`7Zoa^JIV8h2jI)&Kh% zRNk;_nl;HmiiCOx+_D|%#c@6<_p2(q@tC3Ez@A{~KR{MxjRHn;;9XVRzrR`BRk6EO zu?w0Iy@0w+))dLJW91ToddSy})RsR>{Y|MIGAs=?r6FgWrL|3IeJyQ3>aT_m8Vnd- z!s8a-xDxJw&)Te8RY#|iuha!z@=gBB3F&pCASU#305xK07<^Hi{ z<8UlL9hXuqak`&auBoJ6WTm# + + + + + {% block title %}{% endblock %} - Ape Ask + + + + {% block styles %}{% endblock %} + + + + +
+ {% block header %} +
+
+ +
+

Ape Ask

+
+ {% endblock %} +
+
{% block content %}{% endblock %}
+ +
+

© Copyright 2016 Ape Ask, all rights reserved

+
+ + + + \ No newline at end of file diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/login.html b/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/login.html new file mode 100755 index 0000000..d38a4e4 --- /dev/null +++ b/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/login.html @@ -0,0 +1,16 @@ +{% extends "base.html" %} +{% block title %} + Login +{% endblock %} + +{% block content %} +

Hi There! Welcome to Ape Ask, the leading online survey site.

+
+

Let's get you logged in

+
+ + + +
+
+{% endblock %} \ No newline at end of file diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/not_authorized.html b/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/not_authorized.html new file mode 100755 index 0000000..99a0c25 --- /dev/null +++ b/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/not_authorized.html @@ -0,0 +1,13 @@ + + + + + Oops! + + +

Uh Oh! You're not authorized

+ +
+ Take me back home, already! + + \ No newline at end of file diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/page_not_found.html b/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/page_not_found.html new file mode 100755 index 0000000..dadcc99 --- /dev/null +++ b/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/page_not_found.html @@ -0,0 +1,12 @@ +{% extends "base.html" %} + +{% block title %} + Oops! +{% endblock %} + +{% block content %} +

Oh, Pooh Bear! You're stuck because we don't have that page for you.

+ +
+ Go back! +{% endblock %} \ No newline at end of file diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/results.html b/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/results.html new file mode 100755 index 0000000..b8818eb --- /dev/null +++ b/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/results.html @@ -0,0 +1,32 @@ +{% extends "base.html" %} + +{% block title %} + Survey +{% endblock %} + +{% block header %} + {{ super() }} +
+ Logged in as {{ name }} + +
+{% endblock %} + +{% block content %} +

Great news - your results are in! Check it out...

+
+

Here are some of your favorite things

+ Your favorite color is {{ surveyResponse['color']}} + Your favorite food is {{ surveyResponse['food']}} + Your favorite vacation spot is {{ surveyResponse['vacation']}} + +

Wow! Your front end skillz are getting sharp!

+ Before IO Lab, your front end skillz were at a {{ surveyResponse['fe-before']}} + But in just a few short weeks of IO Lab, your front end skillz are now a {{ surveyResponse['fe-after']}} + +
+ Want your survey results emailed to you? + Yes! +
+
+{% endblock %} \ No newline at end of file diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/survey.html b/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/survey.html new file mode 100755 index 0000000..19d2817 --- /dev/null +++ b/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/survey.html @@ -0,0 +1,32 @@ +{% extends "base.html" %} + +{% block title %} + Survey +{% endblock %} + + +{% block header %} + {{super()}} +
+ Logged in as {{ name }} + +
+{% endblock %} + +{% block content %} +

A Little Survey About You

+
+

Some of your favorites

+ + + + +

Let's look at your front end skillz progression

+ + + + +
+{% endblock %} \ No newline at end of file diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/views.py b/Labs/Lab9-Flask_Survey/flaskLab2/app/views.py new file mode 100755 index 0000000..f7f050f --- /dev/null +++ b/Labs/Lab9-Flask_Survey/flaskLab2/app/views.py @@ -0,0 +1,49 @@ +from app import myapp +from flask import request, render_template, session, redirect, url_for, escape +import os + +myapp.secret_key = os.urandom(24) + +@myapp.route('/') +@myapp.route('/index') +def index(): + username = '' + if 'username' in session: + username = escape(session['username']) + return render_template('survey.html', name=username) + else: + return render_template('login.html') + +@myapp.route('/login', methods=['GET', 'POST']) +def login(): + if request.method=='POST': + session['username'] = request.form.get("username") + session['email'] = request.form.get("email") + return redirect(url_for('index')) + +@myapp.route('/logout') +def logout(): + session.pop('username', None) + session.pop('email', None) + return redirect(url_for('index')) + +@myapp.route('/submit-survey', methods=['GET', 'POST']) +def submitSurvey(): + username = '' + email = '' + if 'username' in session: + username = escape(session['username']) + email = escape(session['email']) + surveyResponse = {} + surveyResponse['color'] = request.form.get('color') + surveyResponse['food'] = request.form.get('food') + surveyResponse['vacation'] = request.form.get('vacation') + surveyResponse['fe-before'] = request.form.get('feBefore') + surveyResponse['fe-after'] = request.form.get('feAfter') + return render_template('results.html', name=username, email=email, surveyResponse=surveyResponse) + else: + return render_template('login.html') + +@myapp.errorhandler(404) +def page_not_found(error): + return render_template('page_not_found.html'), 404 \ No newline at end of file diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/views.pyc b/Labs/Lab9-Flask_Survey/flaskLab2/app/views.pyc new file mode 100755 index 0000000000000000000000000000000000000000..259c8d15006dc6248a0b27530dcff389a33fa068 GIT binary patch literal 2299 zcmcIlOK&4Z5U%cV{79U{&I+`!Aoj2aUpBEo;(%6Ym$2f33>q&8jVxIcPdgcVUQD;c zM#`STPvA#!Z*QJef3p2_-l9jr@#OBaYpOU7QUZj*teJx z{42_caz&9M#cNHOraYi1pu9m*gYqqkwkU5>)TF#cQH%06MQy)3psYhthfIeS+mtlu zN|8}C-QjuBrDSWZVY$h2(xP991^h?5n{91MI+Wms9Xi!8sieE!7VT~J?8@=IjedWl z-@kLVx7pK^J$*|0a`s@OKcFO_@!$b4NZ;Z!P>>vBlV8MDHE8m(g{d|_uZ(qWU*sY& z_0*ZX%3^24ZjH5RS-7^?le9K7Cx%s>P3L9p_$Fg#ab-s7L&%O_IYnEt^z-$_F7MJs$u#*qr7Vk_KHenrh5z0eg%rjwON-4qzkuwz8%! z;@sFBEbOX2Hy4LzF3%jlDu!(cS$Uckq8|iUhBC3Mp~fU2g&meK{A53ebo|BS2i$Kb zCv{N|r^DfJ^0l!`S5}iaGp{G##wU;GS!|aRU^_Wa%`f(_x)8Vp0tVXh`xG=)SM^j+ zdw|3rfipMmtW2z9kG^^NO5FbbyYZ_TpW+W2jxp>@Oo)2{rYTx#s$a+w=m0vL$JaBq z3w)voplERR0jB4rhmh$o3imKe(BiMj<1`ByL_s(d-Y`PmLGcS|&pmVuZphc%04CCX zQ4?JHxYu%SN$=~v>MP4Q9>G?w++AFTFka&Vid<<@>ouTQuLD8^pw$|N0S7RW=tHgm zA2u2Cy}@=(i+~ouMd)z}v>IT{wN{FbwOhBf((72;ysd39 zvaD_2)^;}9ZD>Km9YXg*StAjb@OYO`T&ZBpwmshK`Ng&gTkhJ>WEGDGL#T+GWd zk@`Q6XR+Hfs=4{ffTYH9Ezix<6In@}&CQFsLn-sEu*9=;YKd(3O*5b35` zHyYK{?<@St{E<$7gOf9Mlm|CGAyE$kSOXpbd@yLP(P7!|k>#I|Dn2#SqI78Zt0EDI zl)S>F?1Km}RI!`(en@=A61M&306#xJL literal 0 HcmV?d00001 diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/run.py b/Labs/Lab9-Flask_Survey/flaskLab2/run.py new file mode 100755 index 0000000..dae9904 --- /dev/null +++ b/Labs/Lab9-Flask_Survey/flaskLab2/run.py @@ -0,0 +1,3 @@ +#!flask/bin/python +from app import myapp +myapp.run(debug=True,host='0.0.0.0') From c7ee6ed3a9f03f0644c1c30dd6160a71508cc0f6 Mon Sep 17 00:00:00 2001 From: Jason Danker Date: Thu, 6 Oct 2016 10:21:24 -0700 Subject: [PATCH 2/2] lab flask complete --- .../app/__pycache__/__init__.cpython-35.pyc | Bin 285 -> 285 bytes .../app/__pycache__/views.cpython-35.pyc | Bin 1934 -> 2108 bytes .../flaskLab2/app/static/interactions.js | 20 ++++++++++++++++++ .../flaskLab2/app/static/main.css | 2 +- .../flaskLab2/app/templates/results.html | 6 ++++++ .../flaskLab2/app/templates/survey.html | 12 +++++++---- Labs/Lab9-Flask_Survey/flaskLab2/app/views.py | 4 ++++ 7 files changed, 39 insertions(+), 5 deletions(-) diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/__pycache__/__init__.cpython-35.pyc b/Labs/Lab9-Flask_Survey/flaskLab2/app/__pycache__/__init__.cpython-35.pyc index 70e9ec34ab1ecdfaea802d41c274b1c87ab791ef..4858c00b02c6e4e23a657ba3e277ced76c6bb729 100644 GIT binary patch delta 17 YcmbQsG?$4(jF*?o%;Zb>Mh;O%03=of1poj5 delta 17 YcmbQsG?$4(jF*?oK=)kOMh;O%03!?o(EtDd diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/__pycache__/views.cpython-35.pyc b/Labs/Lab9-Flask_Survey/flaskLab2/app/__pycache__/views.cpython-35.pyc index 9a21251bdffceb481164996a5159d35c42e3c294..7fc955c8bd011770fe1edddff6a93afcd545f6d1 100644 GIT binary patch delta 289 zcmeC<-y^^!#>>kk-u5m0GTTP33KkhXMh1oyMuu7l$;gnx#8AS(kj=(Wq`)|N9?R5v zCWb6#hAb9_6mEuQMur+Dh7=wKn-aJvFHDpVS(G0pDu6612on_oin21K2s5OJFw_8T zW@e}X+AIn(y_u0Y7$heKQX8DYz`_u$DLy%lRl}DxGv6mMsfwdSH#1*1Cow6CGruGw zwJ1ElD7%WML>J7_EeG>m~tNv~HQ`U`K6)ZB>7#J8*7#V6IBqKu#6GI6DLpB>j(Fumh^H`>8 zvofS`GoZ8@G{geF*GwW2bTcl_<$^i;1mXiU`_tX+gLRw>#(g9lmZ&c cz{JML#>m4c0EBFl-?8;F>QAm=-_Ixr0RH?N`Tzg` diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/static/interactions.js b/Labs/Lab9-Flask_Survey/flaskLab2/app/static/interactions.js index 36cae0c..ae1cb25 100755 --- a/Labs/Lab9-Flask_Survey/flaskLab2/app/static/interactions.js +++ b/Labs/Lab9-Flask_Survey/flaskLab2/app/static/interactions.js @@ -2,12 +2,20 @@ $('#submit-survey').on('click', function submitSurvey() { var color = $("input[name=color]").val(); var food = $("input[name=food]").val(); var vacation = $("input[name=vacation]").val(); + var ioLab = $("input[name=time-io-lab]").val(); + var otherWork = $("input[name=time-other-work]").val(); + var commute = $("input[name=time-commute]").val(); + var relax = $("input[name=time-relax]").val(); var feBefore = $("input[name=front-end-before]").val(); var feAfter = $("input[name=front-end-after]").val(); $.post("submit-survey", {color: color, food: food, vacation: vacation, + ioLab: ioLab, + otherWork: otherWork, + commute: commute, + relax: relax, feBefore: feBefore, feAfter: feAfter}, function(data) { @@ -29,6 +37,18 @@ $(document).ready(function applySliderLabels() { currentValue = $("#fe-after").val(); $("#fe-after").next().html(currentValue); + + currentValue = $("#t-io-lab").val(); + $("#t-io-lab").next().html(currentValue); + + currentValue = $("#t-other-work").val(); + $("#t-other-work").next().html(currentValue); + + currentValue = $("#t-commute").val(); + $("#t-commute").next().html(currentValue); + + currentValue = $("#t-relax").val(); + $("#t-relax").next().html(currentValue); }); diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/static/main.css b/Labs/Lab9-Flask_Survey/flaskLab2/app/static/main.css index 35532a5..7412af0 100755 --- a/Labs/Lab9-Flask_Survey/flaskLab2/app/static/main.css +++ b/Labs/Lab9-Flask_Survey/flaskLab2/app/static/main.css @@ -48,7 +48,7 @@ table { html, body { background-color: #f9f9f9; - font-family: 'Open Sans', sans-serif; + font-family: 'Avenir','Open Sans', sans-serif; font-size: 16px; } diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/results.html b/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/results.html index b8818eb..d0904cb 100755 --- a/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/results.html +++ b/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/results.html @@ -20,6 +20,12 @@

Here are some of your favorite things

Your favorite food is {{ surveyResponse['food']}} Your favorite vacation spot is {{ surveyResponse['vacation']}} +

YOU HAVE NO TIME! (or do you?)

+ You spend {{ surveyResponse['t-io-lab']}} hour(s) on IO Lab per day + You spend {{ surveyResponse['t-other-work']}} hour(s) on other work per day + You spend {{ surveyResponse['t-commute']}} hour(s) commuting per day + You spend {{ surveyResponse['t-relax']}} hour(s) relaxing per day +

Wow! Your front end skillz are getting sharp!

Before IO Lab, your front end skillz were at a {{ surveyResponse['fe-before']}} But in just a few short weeks of IO Lab, your front end skillz are now a {{ surveyResponse['fe-after']}} diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/survey.html b/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/survey.html index 19d2817..ce2f0e3 100755 --- a/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/survey.html +++ b/Labs/Lab9-Flask_Survey/flaskLab2/app/templates/survey.html @@ -18,10 +18,14 @@

A Little Survey About You

Some of your favorites

- - + + + +

How do you spend your time?

+ + + +

Let's look at your front end skillz progression

diff --git a/Labs/Lab9-Flask_Survey/flaskLab2/app/views.py b/Labs/Lab9-Flask_Survey/flaskLab2/app/views.py index f7f050f..db07509 100755 --- a/Labs/Lab9-Flask_Survey/flaskLab2/app/views.py +++ b/Labs/Lab9-Flask_Survey/flaskLab2/app/views.py @@ -38,6 +38,10 @@ def submitSurvey(): surveyResponse['color'] = request.form.get('color') surveyResponse['food'] = request.form.get('food') surveyResponse['vacation'] = request.form.get('vacation') + surveyResponse['t-io-lab'] = request.form.get('ioLab') + surveyResponse['t-other-work'] = request.form.get('otherWork') + surveyResponse['t-commute'] = request.form.get('commute') + surveyResponse['t-relax'] = request.form.get('relax') surveyResponse['fe-before'] = request.form.get('feBefore') surveyResponse['fe-after'] = request.form.get('feAfter') return render_template('results.html', name=username, email=email, surveyResponse=surveyResponse)