diff options
| author | blendoit <blendoit@gmail.com> | 2020-01-25 11:47:18 -0800 | 
|---|---|---|
| committer | blendoit <blendoit@gmail.com> | 2020-01-25 11:47:18 -0800 | 
| commit | fd1f3fba182efb1ff154dc24f2553601b28791fb (patch) | |
| tree | 956cf6c249cbca046f7d15c3d6acd5f73801704a /app | |
| parent | 513452520bc419bed16ff3a763a99e8a6cd2ebcc (diff) | |
Python module documentation and start work on SQL db.
Diffstat (limited to 'app')
| -rw-r--r-- | app/routes.py | 34 | 
1 files changed, 34 insertions, 0 deletions
| diff --git a/app/routes.py b/app/routes.py index 4604827..6c7059a 100644 --- a/app/routes.py +++ b/app/routes.py @@ -1,33 +1,60 @@ +""" +routes.py module +---------------- + +This Python module contains the logic supporting: +1. Navigating between website pages +2. Interpreting user requests to the server +3. Dispatching requested content back to the user + +Python dependencies: +- flask: provides web application features +- forms: provides secure form user submission +- sqlalchemy: provides communication with database on server. + +Personal imports: +These are used to avoid cluttering this file with +placeholder data for posts' content. +"""  from flask import Flask, render_template, flash, redirect, url_for  from forms import RegistrationForm, LoginForm +from flask_sqlalchemy import SQLAlchemy +  from placeholder_posts import posts  from placeholder_news import news  from placeholder_messages import messages  app = Flask(__name__)  app.config['SECRET_KEY'] = 'foobarblendoitfoobar!' +app.config['SQLALCHEMY_DATABASE_URI'] = 'mariadb:///site.db' + +db = SQLAlchemy(app)  @app.route("/")  @app.route("/home")  def home(): +    """This is our homepage."""      home_posts = posts + news + messages      return render_template('home.html', posts=home_posts)  @app.route("/yes")  def yes(): +    """Another page, presenting the user with content marked as 'yes'."""      return render_template("yes.html", messages=messages, news=news)  @app.route("/no")  def no(): +    """This page contains an archive of 'no's, for forgiving user mistakes."""      archives = posts + news + messages      return render_template("no.html", archive=archives)  @app.route("/register", methods=['GET', 'POST'])  def register(): +    """Account registration page leveraging the form Python package."""      form = RegistrationForm()      if form.validate_on_submit():          flash(f"Alias created for {form.alias.data}.", 'success') @@ -41,5 +68,12 @@ def login():      return render_template('login.html', title="Login", form=form) +# If this file is executed as a script (i.e. double-clicked), +# the Python interpreter will run the Flask process and begin serving +# the web pages on the standard localhost address (127.0.0.1). +# But if this file is called as a module by another Python script, it will not +# serve content to the web pages, but the function definitions contained in +# this file will be available to the calling script. +# E.g. calling script will know what the yes() function is.  if __name__ == '__main__':      app.run(debug=True) | 
