Last active
January 5, 2019 01:31
-
-
Save haraonline/8a48e8bc6ce4ae0536404a28f058d206 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# INCREMENTAL PYTHON CODE FOR CREATING PUBLICATION TABLE | |
# SECTION 4: LECTURE: 20 | |
# ENTER YOUR OWN VALUE IF NEEDED FOR THE SECRET_KEY VARIABLE | |
# ENTER YOU OWN PASSWORD FOR THE DATABASE_URI | |
from flask import Flask, render_template, request | |
from flask_sqlalchemy import SQLAlchemy | |
app = Flask(__name__) | |
app.config.update( | |
SECRET_KEY='topsecret', | |
SQLALCHEMY_DATABASE_URI='postgresql://postgres:YOUR_PASSWORD@localhost/catalog_db', | |
SQLALCHEMY_TRACK_MODIFICATIONS=False | |
) | |
db = SQLAlchemy(app) | |
@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') | |
# JINJA2 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') | |
# JINJA2 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') | |
# JINJA2 - MACROS | |
@app.route('/macros') | |
def jinja_macros(): | |
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('using_macros.html', movies=movies_dict) | |
# PUBLICATION TABLE | |
class Publication(db.Model): | |
__tablename__ = 'publication' | |
id = db.Column(db.Integer, primary_key=True) | |
name = db.Column(db.String(80), nullable=False) | |
def __init__(self, id, name): | |
self.id = id | |
self.name = name | |
def __repr__(self): | |
return 'The id is {}, Name is is {}'.format(self.id, self.name) | |
if __name__ == '__main__': | |
db.create_all() | |
app.run(debug=True) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment