1+ from flask import Flask , render_template , request , redirect , url_for ,flash ,session
2+ from flask .ext .session import Session
3+ from flask .ext .bootstrap import Bootstrap
4+ from flask .ext .wtf import Form
5+ from flask_wtf .csrf import CsrfProtect
6+ from wtforms import StringField , SubmitField
7+ from wtforms .validators import Required
8+
9+
10+
11+ app = Flask (__name__ )
12+ app .config ['SECRET_KEY' ] = 'hard to guess string'
13+ bootstrap = Bootstrap (app )
14+ CsrfProtect (app )
15+ reverse_flask_session = Session
16+
17+
18+ class Reverse_Flask_Form (Form ):
19+
20+ form_string = StringField ('Please input a string' , validators = [Required ()])
21+ form_submit = SubmitField ('Submit' )
22+
23+ def reverse (str ):
24+ str_reverse_list = str .split ()
25+ str_reverse_list .reverse ()
26+ str_reverse = ' ' .join (str_reverse_list )
27+ return str_reverse
28+
29+
30+ @app .errorhandler (403 )
31+ def page_forbidden (e ):
32+ return render_template ('403.html' ), 403
33+
34+ #@app.errorhandler(404)
35+ def page_not_found (e ):
36+ return render_template ('404.html' ), 404
37+
38+
39+ @app .errorhandler (500 )
40+ def internal_server_error (e ):
41+ return render_template ('500.html' ), 500
42+
43+
44+ @app .route ('/' , methods = ['GET' , 'POST' ])
45+ def reverse_string_post ():
46+ form = Reverse_Flask_Form ()
47+ if form .validate_on_submit ():
48+
49+ input_string = form .form_string .data
50+
51+
52+ return redirect (url_for ('reversed_string' , entry = input_string ))
53+
54+ return render_template ('entry_flask.html' , form = form )
55+
56+ @app .route ('/reversed_entry/<entry>' )
57+ def reversed_string (entry ):
58+ r_string = reverse (entry )
59+ return render_template ('reverse.html' , original = entry , transformed = r_string )
60+
61+
62+
63+
64+
65+ if __name__ == '__main__' :
66+
67+ app .debug = True
68+ app .run ()
0 commit comments