python
pip install Flask
pip install pyshorteners
python
from flask import Flask
from flask import redirect, render_template, request
import pyshorteners
python
app = Flask(__name__)
python
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
long_url = request.form.get('long_url')
short_url = shorten_url(long_url)
return render_template('index.html', long_url=long_url, short_url=short_url)
return render_template('index.html')
@app.route('/<short_code>')
def redirect_to_long_url(short_code):
long_url = get_long_url(short_code)
if long_url:
return redirect(long_url)
return redirect('/')
python
def shorten_url(long_url):
s = pyshorteners.Shortener()
short_url = s.tinyurl.short(long_url)
save_mapping(short_url, long_url)
return short_url
python
def save_mapping(short_url, long_url):
pass
python
def get_long_url(short_code):
return None
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<form method="POST">
</form>
{% if long_url %}
{% endif %}
</body>
</html>
python
if __name__ == '__main__':
app.run()