Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,20 @@ The app in this repo is deployed at [https://flask.onrender.com](https://flask.o
## Deployment

Follow the guide at https://render.com/docs/deploy-flask.


# Create Venv

```
py -m venv .venv
cd .venv\Script\activate
```
#Istall package using requirement file

```
pip install -r requirements.txt
```

#Run the flask Application

flask --app app run --debug
13 changes: 13 additions & 0 deletions ReadMeDoc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# List
list=[]
list=[1,'b','12.3]
list.append(2) //at the end
list.extend()
# Dictionary

# Tuples

# Sets



91 changes: 91 additions & 0 deletions app.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,97 @@
from flask import Flask
from flask import render_template, abort, redirect, url_for
from flask import request
from flask import session
from config.settings import user_dict , roles, category,posts
from modules.authmodule import isvalid

app = Flask(__name__)

app.secret_key = b'_5#y2L"F4Q8z\n\xec]/'

@app.route('/')
def hello_world():
return 'Hello, World!'

@app.route('/admin')
def dashboard(name=None):
if 'user' in session:
name=session["user"]['name']
return render_template('admin/dashboard.html', person=name)

@app.route('/login',methods=['POST', 'GET'])
def login():
error = None
if request.method == 'POST':
if request.form['email']:
if (isvalid(request.form['email'],request.form['password'])):
session['user'] = user_dict[request.form['email']]
return redirect(url_for('dashboard'))
else:
error='Invalid Username or password'
else:
error = 'Invalid username/password'
return render_template('login.html', error=error)

@app.route('/test')
def test_page():
print(user_dict)
return ''

@app.route('/logout')
def logout():
# remove the username from the session if it's there
session.pop('user', None)
return redirect(url_for('login'))

@app.route('/admin/blogs')
def admin_blogs():
error=None
if 'user' in session:
return render_template('admin/blogs/index.html',postlist=posts)
else:
return redirect(url_for('login'))

@app.route('/admin/blogs/new',methods=['GET','POST'])
def admin_blognew():
error=None
if 'user' in session:
if request.method=='post':
if request.form['title'] and request.form['category']:
blogitems={};
blogitems['title']=request.form['title']
blogitems['category']=request.form['category']
blogitems['content']= request.form['content']
blogitems['tags']=request.form['tags']
posts.append(blogitems)
print(posts)
return url_for('admin_blogs')
else:
error='Title and description is required'
return render_template('admin/blogs/new.html',error=error,category=category)
else:
return redirect(url_for('login'))


@app.route('/admin/categories')
def admin_category():
error=None
print("category",category)
return render_template('admin/category/index.html',category=category)

@app.route('/admin/categories/new',methods=['GET','POST'])
def admin_newcategory():
error=None
if 'user' not in session:
return redirect(url_for('login'))
if request.method == 'POST':
if request.form['name']:
category_item={}
category_item['name']=request.form['name'];
category_item['status']= request.form['status']
category.append(category_item)
return redirect(url_for('admin_category'))
else:
error='Please Enter Category'
return render_template('admin/category/new.html',error=error)

Empty file added config/__init__.py
Empty file.
11 changes: 11 additions & 0 deletions config/settings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
roles=('Admin','Viewer')

# adding user for static login dictionary has been created down
user_dict={}
user_dict['amit@mail.com']={"id":"1","name":"Amit","password":"mypass"}
user_dict['suraj@mail.com']={"id":"2","name":"Suraj","password":"pass2"}
user_dict['amit@mail.com']['role']=roles[1]
user_dict['suraj@mail.com']['role']=roles[0]

category=[]
posts=[]
Empty file added modules/__init__.py
Empty file.
15 changes: 15 additions & 0 deletions modules/authmodule.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from config.settings import user_dict,roles

def isvalid(username,password):
dictU=user_dict[username]
dictP = user_dict[username]['password']
print(f"{username==dictU} {password==dictP} {user_dict[username]} {user_dict[username]['password']}")
if (username in user_dict and password == dictP):
return True
else:
return False

class Auth():
def __init__(self) -> None:
pass

Loading