Skip to content

Instantly share code, notes, and snippets.

@haraonline
Created January 4, 2019 23:47
Show Gist options
  • Save haraonline/58408d879abdef1ebe1e8a54c03b1201 to your computer and use it in GitHub Desktop.
Save haraonline/58408d879abdef1ebe1e8a54c03b1201 to your computer and use it in GitHub Desktop.
# incremental code - jinja2 filters
# SECTION 3: LECTURE 15
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/index')
@app.route('/')
def hello_flask():
return 'Hello Flask'
@app.route('/new/')
def query_string(greeting='hello'):
query_val = request.args.get('greeting', greeting)
return '<h1> the greeting is: {0} </h1>'.format(query_val)
@app.route('/user')
@app.route('/user/<name>')
def no_query_strings(name='mina'):
return '<h1> hello there ! {} </>'.format(name)
# strings
@app.route('/text/<string:name>')
def working_with_strings(name):
return '<h1> here is a string: ' + name + '</h1>'
# numbers
@app.route('/numbers/<int:num>')
def working_with_numbers(num):
return '<h1> the number you picked is: ' + str(num) + '</h1>'
# add numbers
@app.route('/add/<int:num1>/<int:num2>')
def adding_integers(num1, num2):
return '<h1> the sum is : {}'.format(num1 + num2) + '</h1>'
# floats
@app.route('/product/<float:num1>/<float:num2>')
def product_two_numbers(num1, num2):
return '<h1> the product is : {}'.format(num1 * num2) + '</h1>'
# rendering templates
@app.route('/temp')
def using_templates():
return render_template('hello.html')
# JINJA TEMPLATES 1
@app.route('/watch')
def top_movies():
movie_list = ['autopsy of jane doe',
'neon demon',
'ghost in a shell',
'kong: skull island',
'john wick 2',
'spiderman - homecoming']
return render_template('movies.html',
movies=movie_list,
name='Harry')
# JINJA TEMPLATES 2
@app.route('/tables')
def movies_plus():
movies_dict = {'autopsy of jane doe': 02.14,
'neon demon': 3.20,
'ghost in a shell': 1.50,
'kong: skull island': 3.50,
'john wick 2': 02.52,
'spiderman - homecoming': 1.48}
return render_template('table_data.html',
movies=movies_dict,
name='Sally')
# JINJA2 - FILTERS
@app.route('/filters')
def filter_data():
movies_dict = {'autopsy of jane doe': 02.14,
'neon demon': 3.20,
'ghost in a shell': 1.50,
'kong: skull island': 3.50,
'john wick 2': 02.52,
'spiderman - homecoming': 1.48}
return render_template('filter_data.html',
movies=movies_dict,
name=None,
film='a christmas carol')
if __name__ == '__main__':
app.run(debug=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment