summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clepyweb/__init__.py13
-rw-r--r--clepyweb/registration.py55
-rw-r--r--registrations.log2
-rw-r--r--requirements.txt6
-rwxr-xr-xstatic/static/css/blueprint/ie.css35
-rwxr-xr-xstatic/static/css/blueprint/print.css29
-rwxr-xr-xstatic/static/css/blueprint/screen.css258
-rw-r--r--templates/index.html46
-rw-r--r--templates/thankyou.html17
9 files changed, 461 insertions, 0 deletions
diff --git a/clepyweb/__init__.py b/clepyweb/__init__.py
new file mode 100644
index 0000000..e96e41a
--- /dev/null
+++ b/clepyweb/__init__.py
@@ -0,0 +1,13 @@
1import urlrelay
2from weberror.errormiddleware import ErrorMiddleware
3
4import registration
5
6import static
7
8urlrelay.register('^/static.*', static.Cling('static'))
9
10
11pipeline = ErrorMiddleware(urlrelay.URLRelay(), debug=1)
12
13
diff --git a/clepyweb/registration.py b/clepyweb/registration.py
new file mode 100644
index 0000000..cb2f80d
--- /dev/null
+++ b/clepyweb/registration.py
@@ -0,0 +1,55 @@
1import logging
2
3import urlrelay
4from webob import Request, Response
5
6from mako.lookup import TemplateLookup
7
8lookup = TemplateLookup(directories=['templates',])
9
10logging.basicConfig(filename='registrations.log', level=logging.CRITICAL)
11
12@urlrelay.url('^/$', 'GET')
13def index(environ, start_response):
14 res = Response()
15
16 template = lookup.get_template('index.html')
17
18 res.body = template.render()
19
20 return res(environ, start_response)
21
22@urlrelay.url('^/$', 'POST')
23def register(environ, start_response):
24 req = Request(environ)
25
26 name = req.params.get('name')
27 email = req.params.get('email')
28 food = req.params.get('food')
29
30 logging.critical('Name: {0}, Email: {1}, Food: {2}'.format(name, email, food))
31
32 res = Response()
33
34 res.status = '302 Found'
35 res.headers['Location'] = '/thankyou?name={0}&email={1}&food={2}'.format(name, email, food)
36
37 return res(environ, start_response)
38
39@urlrelay.url('^/thankyou$', 'GET')
40def thankyou(environ, start_response):
41 req = Request(environ)
42
43 name = req.params.get('name')
44 email = req.params.get('email')
45 food = req.params.get('food')
46
47 res = Response()
48
49 template = lookup.get_template('thankyou.html')
50
51 res.body = template.render(name=name, email=email, food=food)
52
53 return res(environ, start_response)
54
55 \ No newline at end of file
diff --git a/registrations.log b/registrations.log
new file mode 100644
index 0000000..9a90e67
--- /dev/null
+++ b/registrations.log
@@ -0,0 +1,2 @@
1CRITICAL:root:Name: Chris, Email: me@chris.com, Food: Pizza
2CRITICAL:root:Name: Chris, Email: me@chris.com, Food: Pizza
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..9dd47eb
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,6 @@
1spawning==0.9.2
2webob
3weberror
4urlrelay
5mako
6static \ No newline at end of file
diff --git a/static/static/css/blueprint/ie.css b/static/static/css/blueprint/ie.css
new file mode 100755
index 0000000..3dddda9
--- /dev/null
+++ b/static/static/css/blueprint/ie.css
@@ -0,0 +1,35 @@
1/* -----------------------------------------------------------------------
2
3
4 Blueprint CSS Framework 0.9
5 http://blueprintcss.org
6
7 * Copyright (c) 2007-Present. See LICENSE for more info.
8 * See README for instructions on how to use Blueprint.
9 * For credits and origins, see AUTHORS.
10 * This is a compressed file. See the sources in the 'src' directory.
11
12----------------------------------------------------------------------- */
13
14/* ie.css */
15body {text-align:center;}
16.container {text-align:left;}
17* html .column, * html .span-1, * html .span-2, * html .span-3, * html .span-4, * html .span-5, * html .span-6, * html .span-7, * html .span-8, * html .span-9, * html .span-10, * html .span-11, * html .span-12, * html .span-13, * html .span-14, * html .span-15, * html .span-16, * html .span-17, * html .span-18, * html .span-19, * html .span-20, * html .span-21, * html .span-22, * html .span-23, * html .span-24 {display:inline;overflow-x:hidden;}
18* html legend {margin:0px -8px 16px 0;padding:0;}
19sup {vertical-align:text-top;}
20sub {vertical-align:text-bottom;}
21html>body p code {*white-space:normal;}
22hr {margin:-8px auto 11px;}
23img {-ms-interpolation-mode:bicubic;}
24.clearfix, .container {display:inline-block;}
25* html .clearfix, * html .container {height:1%;}
26fieldset {padding-top:0;}
27textarea {overflow:auto;}
28input.text, input.title, textarea {background-color:#fff;border:1px solid #bbb;}
29input.text:focus, input.title:focus {border-color:#666;}
30input.text, input.title, textarea, select {margin:0.5em 0;}
31input.checkbox, input.radio {position:relative;top:.25em;}
32form.inline div, form.inline p {vertical-align:middle;}
33form.inline label {position:relative;top:-0.25em;}
34form.inline input.checkbox, form.inline input.radio, form.inline input.button, form.inline button {margin:0.5em 0;}
35button, input.button {position:relative;top:0.25em;} \ No newline at end of file
diff --git a/static/static/css/blueprint/print.css b/static/static/css/blueprint/print.css
new file mode 100755
index 0000000..fdb8220
--- /dev/null
+++ b/static/static/css/blueprint/print.css
@@ -0,0 +1,29 @@
1/* -----------------------------------------------------------------------
2
3
4 Blueprint CSS Framework 0.9
5 http://blueprintcss.org
6
7 * Copyright (c) 2007-Present. See LICENSE for more info.
8 * See README for instructions on how to use Blueprint.
9 * For credits and origins, see AUTHORS.
10 * This is a compressed file. See the sources in the 'src' directory.
11
12----------------------------------------------------------------------- */
13
14/* print.css */
15body {line-height:1.5;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;color:#000;background:none;font-size:10pt;}
16.container {background:none;}
17hr {background:#ccc;color:#ccc;width:100%;height:2px;margin:2em 0;padding:0;border:none;}
18hr.space {background:#fff;color:#fff;visibility:hidden;}
19h1, h2, h3, h4, h5, h6 {font-family:"Helvetica Neue", Arial, "Lucida Grande", sans-serif;}
20code {font:.9em "Courier New", Monaco, Courier, monospace;}
21a img {border:none;}
22p img.top {margin-top:0;}
23blockquote {margin:1.5em;padding:1em;font-style:italic;font-size:.9em;}
24.small {font-size:.9em;}
25.large {font-size:1.1em;}
26.quiet {color:#999;}
27.hide {display:none;}
28a:link, a:visited {background:transparent;font-weight:700;text-decoration:underline;}
29a:link:after, a:visited:after {content:" (" attr(href) ")";font-size:90%;} \ No newline at end of file
diff --git a/static/static/css/blueprint/screen.css b/static/static/css/blueprint/screen.css
new file mode 100755
index 0000000..f542e30
--- /dev/null
+++ b/static/static/css/blueprint/screen.css
@@ -0,0 +1,258 @@
1/* -----------------------------------------------------------------------
2
3
4 Blueprint CSS Framework 0.9
5 http://blueprintcss.org
6
7 * Copyright (c) 2007-Present. See LICENSE for more info.
8 * See README for instructions on how to use Blueprint.
9 * For credits and origins, see AUTHORS.
10 * This is a compressed file. See the sources in the 'src' directory.
11
12----------------------------------------------------------------------- */
13
14/* reset.css */
15html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
16article, aside, dialog, figure, footer, header, hgroup, nav, section {display:block;}
17body {line-height:1.5;}
18table {border-collapse:separate;border-spacing:0;}
19caption, th, td {text-align:left;font-weight:normal;}
20table, td, th {vertical-align:middle;}
21blockquote:before, blockquote:after, q:before, q:after {content:"";}
22blockquote, q {quotes:"" "";}
23a img {border:none;}
24
25/* typography.css */
26html {font-size:100.01%;}
27body {font-size:75%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
28h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
29h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
30h2 {font-size:2em;margin-bottom:0.75em;}
31h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
32h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
33h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
34h6 {font-size:1em;font-weight:bold;}
35h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
36p {margin:0 0 1.5em;}
37p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
38p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
39a:focus, a:hover {color:#000;}
40a {color:#009;text-decoration:underline;}
41blockquote {margin:1.5em;color:#666;font-style:italic;}
42strong {font-weight:bold;}
43em, dfn {font-style:italic;}
44dfn {font-weight:bold;}
45sup, sub {line-height:0;}
46abbr, acronym {border-bottom:1px dotted #666;}
47address {margin:0 0 1.5em;font-style:italic;}
48del {color:#666;}
49pre {margin:1.5em 0;white-space:pre;}
50pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
51li ul, li ol {margin:0;}
52ul, ol {margin:0 1.5em 1.5em 0;padding-left:3.333em;}
53ul {list-style-type:disc;}
54ol {list-style-type:decimal;}
55dl {margin:0 0 1.5em 0;}
56dl dt {font-weight:bold;}
57dd {margin-left:1.5em;}
58table {margin-bottom:1.4em;width:100%;}
59th {font-weight:bold;}
60thead th {background:#c3d9ff;}
61th, td, caption {padding:4px 10px 4px 5px;}
62tr.even td {background:#e5ecf9;}
63tfoot {font-style:italic;}
64caption {background:#eee;}
65.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
66.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
67.hide {display:none;}
68.quiet {color:#666;}
69.loud {color:#000;}
70.highlight {background:#ff0;}
71.added {background:#060;color:#fff;}
72.removed {background:#900;color:#fff;}
73.first {margin-left:0;padding-left:0;}
74.last {margin-right:0;padding-right:0;}
75.top {margin-top:0;padding-top:0;}
76.bottom {margin-bottom:0;padding-bottom:0;}
77
78/* forms.css */
79label {font-weight:bold;}
80fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
81legend {font-weight:bold;font-size:1.2em;}
82input[type=text], input[type=password], input.text, input.title, textarea, select {background-color:#fff;border:1px solid #bbb;}
83input[type=text]:focus, input[type=password]:focus, input.text:focus, input.title:focus, textarea:focus, select:focus {border-color:#666;}
84input[type=text], input[type=password], input.text, input.title, textarea, select {margin:0.5em 0;}
85input.text, input.title {width:300px;padding:5px;}
86input.title {font-size:1.5em;}
87textarea {width:390px;height:250px;padding:5px;}
88input[type=checkbox], input[type=radio], input.checkbox, input.radio {position:relative;top:.25em;}
89form.inline {line-height:3;}
90form.inline p {margin-bottom:0;}
91.error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;}
92.error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
93.notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
94.success {background:#E6EFC2;color:#264409;border-color:#C6D880;}
95.error a {color:#8a1f11;}
96.notice a {color:#514721;}
97.success a {color:#264409;}
98
99/* grid.css */
100.container {width:950px;margin:0 auto;}
101.showgrid {background:url(src/grid.png);}
102.column, .span-1, .span-2, .span-3, .span-4, .span-5, .span-6, .span-7, .span-8, .span-9, .span-10, .span-11, .span-12, .span-13, .span-14, .span-15, .span-16, .span-17, .span-18, .span-19, .span-20, .span-21, .span-22, .span-23, .span-24 {float:left;margin-right:10px;}
103.last {margin-right:0;}
104.span-1 {width:30px;}
105.span-2 {width:70px;}
106.span-3 {width:110px;}
107.span-4 {width:150px;}
108.span-5 {width:190px;}
109.span-6 {width:230px;}
110.span-7 {width:270px;}
111.span-8 {width:310px;}
112.span-9 {width:350px;}
113.span-10 {width:390px;}
114.span-11 {width:430px;}
115.span-12 {width:470px;}
116.span-13 {width:510px;}
117.span-14 {width:550px;}
118.span-15 {width:590px;}
119.span-16 {width:630px;}
120.span-17 {width:670px;}
121.span-18 {width:710px;}
122.span-19 {width:750px;}
123.span-20 {width:790px;}
124.span-21 {width:830px;}
125.span-22 {width:870px;}
126.span-23 {width:910px;}
127.span-24 {width:950px;margin-right:0;}
128input.span-1, textarea.span-1, input.span-2, textarea.span-2, input.span-3, textarea.span-3, input.span-4, textarea.span-4, input.span-5, textarea.span-5, input.span-6, textarea.span-6, input.span-7, textarea.span-7, input.span-8, textarea.span-8, input.span-9, textarea.span-9, input.span-10, textarea.span-10, input.span-11, textarea.span-11, input.span-12, textarea.span-12, input.span-13, textarea.span-13, input.span-14, textarea.span-14, input.span-15, textarea.span-15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span-18, textarea.span-18, input.span-19, textarea.span-19, input.span-20, textarea.span-20, input.span-21, textarea.span-21, input.span-22, textarea.span-22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {border-left-width:1px!important;border-right-width:1px!important;padding-left:5px!important;padding-right:5px!important;}
129input.span-1, textarea.span-1 {width:18px!important;}
130input.span-2, textarea.span-2 {width:58px!important;}
131input.span-3, textarea.span-3 {width:98px!important;}
132input.span-4, textarea.span-4 {width:138px!important;}
133input.span-5, textarea.span-5 {width:178px!important;}
134input.span-6, textarea.span-6 {width:218px!important;}
135input.span-7, textarea.span-7 {width:258px!important;}
136input.span-8, textarea.span-8 {width:298px!important;}
137input.span-9, textarea.span-9 {width:338px!important;}
138input.span-10, textarea.span-10 {width:378px!important;}
139input.span-11, textarea.span-11 {width:418px!important;}
140input.span-12, textarea.span-12 {width:458px!important;}
141input.span-13, textarea.span-13 {width:498px!important;}
142input.span-14, textarea.span-14 {width:538px!important;}
143input.span-15, textarea.span-15 {width:578px!important;}
144input.span-16, textarea.span-16 {width:618px!important;}
145input.span-17, textarea.span-17 {width:658px!important;}
146input.span-18, textarea.span-18 {width:698px!important;}
147input.span-19, textarea.span-19 {width:738px!important;}
148input.span-20, textarea.span-20 {width:778px!important;}
149input.span-21, textarea.span-21 {width:818px!important;}
150input.span-22, textarea.span-22 {width:858px!important;}
151input.span-23, textarea.span-23 {width:898px!important;}
152input.span-24, textarea.span-24 {width:938px!important;}
153.append-1 {padding-right:40px;}
154.append-2 {padding-right:80px;}
155.append-3 {padding-right:120px;}
156.append-4 {padding-right:160px;}
157.append-5 {padding-right:200px;}
158.append-6 {padding-right:240px;}
159.append-7 {padding-right:280px;}
160.append-8 {padding-right:320px;}
161.append-9 {padding-right:360px;}
162.append-10 {padding-right:400px;}
163.append-11 {padding-right:440px;}
164.append-12 {padding-right:480px;}
165.append-13 {padding-right:520px;}
166.append-14 {padding-right:560px;}
167.append-15 {padding-right:600px;}
168.append-16 {padding-right:640px;}
169.append-17 {padding-right:680px;}
170.append-18 {padding-right:720px;}
171.append-19 {padding-right:760px;}
172.append-20 {padding-right:800px;}
173.append-21 {padding-right:840px;}
174.append-22 {padding-right:880px;}
175.append-23 {padding-right:920px;}
176.prepend-1 {padding-left:40px;}
177.prepend-2 {padding-left:80px;}
178.prepend-3 {padding-left:120px;}
179.prepend-4 {padding-left:160px;}
180.prepend-5 {padding-left:200px;}
181.prepend-6 {padding-left:240px;}
182.prepend-7 {padding-left:280px;}
183.prepend-8 {padding-left:320px;}
184.prepend-9 {padding-left:360px;}
185.prepend-10 {padding-left:400px;}
186.prepend-11 {padding-left:440px;}
187.prepend-12 {padding-left:480px;}
188.prepend-13 {padding-left:520px;}
189.prepend-14 {padding-left:560px;}
190.prepend-15 {padding-left:600px;}
191.prepend-16 {padding-left:640px;}
192.prepend-17 {padding-left:680px;}
193.prepend-18 {padding-left:720px;}
194.prepend-19 {padding-left:760px;}
195.prepend-20 {padding-left:800px;}
196.prepend-21 {padding-left:840px;}
197.prepend-22 {padding-left:880px;}
198.prepend-23 {padding-left:920px;}
199.border {padding-right:4px;margin-right:5px;border-right:1px solid #eee;}
200.colborder {padding-right:24px;margin-right:25px;border-right:1px solid #eee;}
201.pull-1 {margin-left:-40px;}
202.pull-2 {margin-left:-80px;}
203.pull-3 {margin-left:-120px;}
204.pull-4 {margin-left:-160px;}
205.pull-5 {margin-left:-200px;}
206.pull-6 {margin-left:-240px;}
207.pull-7 {margin-left:-280px;}
208.pull-8 {margin-left:-320px;}
209.pull-9 {margin-left:-360px;}
210.pull-10 {margin-left:-400px;}
211.pull-11 {margin-left:-440px;}
212.pull-12 {margin-left:-480px;}
213.pull-13 {margin-left:-520px;}
214.pull-14 {margin-left:-560px;}
215.pull-15 {margin-left:-600px;}
216.pull-16 {margin-left:-640px;}
217.pull-17 {margin-left:-680px;}
218.pull-18 {margin-left:-720px;}
219.pull-19 {margin-left:-760px;}
220.pull-20 {margin-left:-800px;}
221.pull-21 {margin-left:-840px;}
222.pull-22 {margin-left:-880px;}
223.pull-23 {margin-left:-920px;}
224.pull-24 {margin-left:-960px;}
225.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float:left;position:relative;}
226.push-1 {margin:0 -40px 1.5em 40px;}
227.push-2 {margin:0 -80px 1.5em 80px;}
228.push-3 {margin:0 -120px 1.5em 120px;}
229.push-4 {margin:0 -160px 1.5em 160px;}
230.push-5 {margin:0 -200px 1.5em 200px;}
231.push-6 {margin:0 -240px 1.5em 240px;}
232.push-7 {margin:0 -280px 1.5em 280px;}
233.push-8 {margin:0 -320px 1.5em 320px;}
234.push-9 {margin:0 -360px 1.5em 360px;}
235.push-10 {margin:0 -400px 1.5em 400px;}
236.push-11 {margin:0 -440px 1.5em 440px;}
237.push-12 {margin:0 -480px 1.5em 480px;}
238.push-13 {margin:0 -520px 1.5em 520px;}
239.push-14 {margin:0 -560px 1.5em 560px;}
240.push-15 {margin:0 -600px 1.5em 600px;}
241.push-16 {margin:0 -640px 1.5em 640px;}
242.push-17 {margin:0 -680px 1.5em 680px;}
243.push-18 {margin:0 -720px 1.5em 720px;}
244.push-19 {margin:0 -760px 1.5em 760px;}
245.push-20 {margin:0 -800px 1.5em 800px;}
246.push-21 {margin:0 -840px 1.5em 840px;}
247.push-22 {margin:0 -880px 1.5em 880px;}
248.push-23 {margin:0 -920px 1.5em 920px;}
249.push-24 {margin:0 -960px 1.5em 960px;}
250.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float:right;position:relative;}
251.prepend-top {margin-top:1.5em;}
252.append-bottom {margin-bottom:1.5em;}
253.box {padding:1.5em;margin-bottom:1.5em;background:#E5ECF9;}
254hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
255hr.space {background:#fff;color:#fff;visibility:hidden;}
256.clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
257.clearfix, .container {display:block;}
258.clear {clear:both;} \ No newline at end of file
diff --git a/templates/index.html b/templates/index.html
new file mode 100644
index 0000000..1ef41ac
--- /dev/null
+++ b/templates/index.html
@@ -0,0 +1,46 @@
1<!DOCTYPE html>
2<html>
3<head>
4 <title>Register for Clepy</title>
5 <link rel="stylesheet" href="static/css/blueprint/screen.css" type="text/css" media="screen, projection">
6 <link rel="stylesheet" href="static/css/blueprint/print.css" type="text/css" media="print">
7 <!--[if lt IE 8]><link rel="stylesheet" href="static/css/blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
8</head>
9<body>
10 <div class="container">
11 <h1>Register for Clepy</h1>
12 <hr>
13 <div class="span-12">
14 <h2>About Clepy</h2>
15 <p>Un inviar regula qui, que svedese addresses philologos e, da sia rapide durante internet.
16 Texto paternoster pan es. Iste quales spatios uno in, le con svedese occidental. Su con
17 existe giuseppe introductori, da pan facto secundo scientia. Super presenta denominator
18 uso su, tu tentation articulos intention web.</p>
19 <p>Con questiones supervivite ha, russo romanic web de, il tote facto continentes con. O
20 altere membros distinguer sed, da uno ille conferentias. Uso in prime apprende, un post
21 super qualcunque via. Ille vostre presenta uso da, celo addresses anglo-romanic o que.</p>
22 <p>Duo ille laborava un, con message programma introduction le. Un pan asia medio subjecto,
23 il non tres regula association. Web scriber religion traduction es, non membros presenta
24 continentes al, lo europeo gymnasios demonstrate pan. Pan de gode texto parolas, de
25 responder excellente dictionario per. Pro ha unic parolas, pan ha tote toto. Patre
26 lingua scriber web e, europee laborava supervivite se web.</p>
27 </div>
28 <div class="span-12 last">
29 <h2>Register</h2>
30 <form method="POST">
31 <label for="name">Name</label><br>
32 <input type="text" class="title" name="name"><br>
33 <label for="email">Email</label><br>
34 <input type="email" class="title" name="email"><br>
35 <label for="food">What do you want to eat?</label><br>
36 <select class="title" name="food">
37 <option value="Pizza">Pizza</option>
38 <option value="Chili">Chili</option>
39 <option value="None">None</option>
40 </select><br>
41 <button type="submit">Register!</button>
42 </form>
43 </div>
44 </div>
45</body>
46</html> \ No newline at end of file
diff --git a/templates/thankyou.html b/templates/thankyou.html
new file mode 100644
index 0000000..7318f84
--- /dev/null
+++ b/templates/thankyou.html
@@ -0,0 +1,17 @@
1<!DOCTYPE html>
2<html>
3<head>
4 <title>Register for Clepy</title>
5 <link rel="stylesheet" href="static/css/blueprint/screen.css" type="text/css" media="screen, projection">
6 <link rel="stylesheet" href="static/css/blueprint/print.css" type="text/css" media="print">
7 <!--[if lt IE 8]><link rel="stylesheet" href="static/css/blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
8</head>
9<body>
10 <div class="container">
11 <h1>Thanks for registering!</h1>
12 <hr>
13 <p>Please print this page for your records</p>
14 <p>Name: ${name}<br>Email: ${email}<br>Food preference: ${food}</p>
15 </div>
16</body>
17</html> \ No newline at end of file