From 67c338438b9896347bae53b62e5be590fbaf9ee0 Mon Sep 17 00:00:00 2001 From: Luke Peters Date: Mon, 11 Apr 2022 20:19:01 -0400 Subject: [PATCH 1/2] Restructured the app so it will run with app.run(), which makes it work in PyCharm and other IDEs. The Flask app is modulized within a flaskapp folder now. --- app.py => flaskapp/__init__.py | 18 +++--------------- {static => flaskapp/static}/css/normalize.css | 0 {static => flaskapp/static}/css/styles.css | 0 {static => flaskapp/static}/js/jquery.js | 0 {static => flaskapp/static}/js/scripts.js | 0 {templates => flaskapp/templates}/base.html | 0 .../templates}/dashboard.html | 0 {templates => flaskapp/templates}/home.html | 0 {user => flaskapp/user}/__init__.py | 0 {user => flaskapp/user}/models.py | 4 ++-- {user => flaskapp/user}/routes.py | 5 ++--- run | 1 - run.py | 15 +++++++++++++++ 13 files changed, 22 insertions(+), 21 deletions(-) rename app.py => flaskapp/__init__.py (54%) rename {static => flaskapp/static}/css/normalize.css (100%) rename {static => flaskapp/static}/css/styles.css (100%) rename {static => flaskapp/static}/js/jquery.js (100%) rename {static => flaskapp/static}/js/scripts.js (100%) rename {templates => flaskapp/templates}/base.html (100%) rename {templates => flaskapp/templates}/dashboard.html (100%) rename {templates => flaskapp/templates}/home.html (100%) rename {user => flaskapp/user}/__init__.py (100%) rename {user => flaskapp/user}/models.py (93%) rename {user => flaskapp/user}/routes.py (76%) delete mode 100755 run create mode 100644 run.py diff --git a/app.py b/flaskapp/__init__.py similarity index 54% rename from app.py rename to flaskapp/__init__.py index 681f649..b6e83b7 100644 --- a/app.py +++ b/flaskapp/__init__.py @@ -1,4 +1,4 @@ -from flask import Flask, render_template, session, redirect +from flask import Flask, session, redirect from functools import wraps import pymongo @@ -7,7 +7,7 @@ # Database client = pymongo.MongoClient('localhost', 27017) -db = client.user_login_system +db = client.user_login_system_test # Decorators def login_required(f): @@ -18,16 +18,4 @@ def wrap(*args, **kwargs): else: return redirect('/') - return wrap - -# Routes -from user import routes - -@app.route('/') -def home(): - return render_template('home.html') - -@app.route('/dashboard/') -@login_required -def dashboard(): - return render_template('dashboard.html') \ No newline at end of file + return wrap \ No newline at end of file diff --git a/static/css/normalize.css b/flaskapp/static/css/normalize.css similarity index 100% rename from static/css/normalize.css rename to flaskapp/static/css/normalize.css diff --git a/static/css/styles.css b/flaskapp/static/css/styles.css similarity index 100% rename from static/css/styles.css rename to flaskapp/static/css/styles.css diff --git a/static/js/jquery.js b/flaskapp/static/js/jquery.js similarity index 100% rename from static/js/jquery.js rename to flaskapp/static/js/jquery.js diff --git a/static/js/scripts.js b/flaskapp/static/js/scripts.js similarity index 100% rename from static/js/scripts.js rename to flaskapp/static/js/scripts.js diff --git a/templates/base.html b/flaskapp/templates/base.html similarity index 100% rename from templates/base.html rename to flaskapp/templates/base.html diff --git a/templates/dashboard.html b/flaskapp/templates/dashboard.html similarity index 100% rename from templates/dashboard.html rename to flaskapp/templates/dashboard.html diff --git a/templates/home.html b/flaskapp/templates/home.html similarity index 100% rename from templates/home.html rename to flaskapp/templates/home.html diff --git a/user/__init__.py b/flaskapp/user/__init__.py similarity index 100% rename from user/__init__.py rename to flaskapp/user/__init__.py diff --git a/user/models.py b/flaskapp/user/models.py similarity index 93% rename from user/models.py rename to flaskapp/user/models.py index 2f13ea9..173d67f 100644 --- a/user/models.py +++ b/flaskapp/user/models.py @@ -1,6 +1,6 @@ -from flask import Flask, jsonify, request, session, redirect +from flask import jsonify, request, session, redirect from passlib.hash import pbkdf2_sha256 -from app import db +from flaskapp import db import uuid class User: diff --git a/user/routes.py b/flaskapp/user/routes.py similarity index 76% rename from user/routes.py rename to flaskapp/user/routes.py index 335f2a4..798e5b5 100644 --- a/user/routes.py +++ b/flaskapp/user/routes.py @@ -1,6 +1,5 @@ -from flask import Flask -from app import app -from user.models import User +from flaskapp import app +from flaskapp.user.models import User @app.route('/user/signup', methods=['POST']) def signup(): diff --git a/run b/run deleted file mode 100755 index e7690b9..0000000 --- a/run +++ /dev/null @@ -1 +0,0 @@ -FLASK_APP=app.py FLASK_ENV=development flask run \ No newline at end of file diff --git a/run.py b/run.py new file mode 100644 index 0000000..c6e5d1a --- /dev/null +++ b/run.py @@ -0,0 +1,15 @@ +from flask import render_template +from flaskapp import app, login_required +from flaskapp.user.routes import * + +@app.route('/') +def home(): + return render_template('home.html') + +@app.route('/dashboard/') +@login_required +def dashboard(): + return render_template('dashboard.html') + +if __name__ == '__main__': + app.run(debug=True) \ No newline at end of file From 30562f3b4a2f62af80b9ae2a77db0f99b67dfbf4 Mon Sep 17 00:00:00 2001 From: Luke Peters Date: Wed, 8 Feb 2023 15:25:18 -0500 Subject: [PATCH 2/2] Create README.md --- README.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..efd7509 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# User Login System Tutorial + +Learn how to build a basic user login system using Python, Flask, and MongoDB. + +This repository contains source code for my tutorial series on YouTube: https://www.youtube.com/playlist?list=PL4JDh0LtP7jr0nNuoW-KB-O2uABkaMhL1