First looks into Flask
FLASK_ENV=development FLASK_APP=src/application.py flask run
https://overiq.com/flask-101/basics-of-jinja-template-language/
##TODO
- template einbinden
- main-styles.css
- api: gibt dictionary(json) zurück
- template einbinden done
- main-styles.css done
- api: gibt dictionary(json) zurück done
- javascript einbinden, was folgende Feature z.b implementiert:
- Button "Hello"
- Klick auf "Hello" => javascriot funktion doHello aufrufen und einen Modal (alert) "Hello world" anzeigem
- für dictionary eigenen datei ablegen
- Ertelle neue Templates static/dogs.html
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Dogs</title>
</head>
<body>
<div>
<h1>The gallery of dogs</h1>
<em>This is a Singlepage application using Flask, javascript, html and css</em>
<hr/>
</div>
</body>
</html>
- Erstelle neue Funktion und Route in application.py
@app.route("/dogs/")
def dogs_index():
return render_template('dogs.html')
- start Flask:
FLASK_ENV=development FLASK_APP=src/application.py flask run
- öffne in Browser http://127.0.0.1:5000/dogs/
- static/dogs.css
body {
padding: 24px;
}
em {
color: #857f7f;
}
- dogs.html
...
<head>
...
<link rel="stylesheet" href="{{ url_for('static', filename='dogs.css') }}">
...
</head>
...
pip freeze > requirements.txt
siehe https://stackabuse.com/deploying-a-flask-application-to-heroku/
- erstelle neuen Python Daten auf Projekt-Root wsgi.py:
from src.main import *
if __name__ == "__main__":
app.run()
- installiere gunicorn
pip install gunicorn
- erstelle requirements.txt
pip freeze > requirements.txt
für Flask benötigte Libraries sieht so aus:
click==8.0.3
Flask==2.0.2
Flask-Cors==3.0.10
gunicorn==20.1.0
itsdangerous==2.0.1
Jinja2==3.0.3
MarkupSafe==2.0.1
names==0.3.0
Werkzeug==2.0.2
- Erstelle Profile
web: gunicorn wsgi:app
Arbeit mit fremde Bilder: https://www.digitalocean.com/community/tutorials/css-cropping-images-object-fit