Files
flask_url_shortener/tiny0/routes.py
T

29 lines
807 B
Python
Raw Normal View History

from flask import render_template, redirect, request, url_for
2020-07-20 14:55:19 +00:00
from tiny0 import app, db
2020-07-18 16:40:51 +00:00
from tiny0.forms import URLForm
2020-07-20 14:55:19 +00:00
from tiny0.models import URL
2020-07-20 16:00:36 +00:00
from tiny0.token import gen_valid_token
2020-07-18 13:10:03 +00:00
2020-07-18 16:40:51 +00:00
# Index Page
@app.route("/", methods=['GET', 'POST'])
2020-07-18 13:10:03 +00:00
def index():
# Create a instance of the form
form = URLForm()
2020-07-18 16:40:51 +00:00
# If the form was valid
if form.validate_on_submit():
2020-07-20 16:00:36 +00:00
# Generate a valid token
token = gen_valid_token()
# Add the token and the given url to the database
db.session.add(URL(token=token, url=form.url.data))
db.session.commit()
# Return the url page with the shortened url
return render_template("url.html", url="127.0.0.1:5000/" + token)
2020-07-18 16:40:51 +00:00
# If the form was invalid or not submitted
2020-07-18 16:40:51 +00:00
else:
# Return the index page with the form
2020-07-18 16:40:51 +00:00
return render_template("index.html", form=form)