[PYTHON] Hallo Welt mit Flask + Hamlish

Überblick

Flask ist ein einfaches Webframework für Python. Ich denke, Sinatra ist dem in Ruby nahe.

Flask verwendet eine Vorlagen-Engine namens jinja2, mit der Sie das Gefühl haben, HTML im Klartext zu schreiben. Ich bin an HAML gewöhnt, daher habe ich versucht, hamlish-jinja zu verwenden, mit dem Sie HAML-ähnliche Ansichtsvorlagen in Flask schreiben können.

Vorbereitung

$ pip install Flask
$ pip install Hamlish-Jinja

Dateiorganisation

.
├── app.py
└── templates
    └── index.haml

app.py


from flask import Flask, render_template
from werkzeug import ImmutableDict

class FlaskWithHamlish(Flask):
    jinja_options = ImmutableDict(
        extensions=['jinja2.ext.autoescape', 'jinja2.ext.with_', 'hamlish_jinja.HamlishExtension']
    )
app = FlaskWithHamlish(__name__)
app.jinja_env.hamlish_mode = 'indented'
app.jinja_env.hamlish_enable_div_shortcut = True

@app.route('/')
def index():
    return render_template('index.haml')

if __name__ == '__main__':
    app.run()

index.haml


%html
  %head
    %meta charset="utf-8"
    %title
      Hello World!
  %body
    %h1
      Hello World!

Lauf

$ python app.py

Greifen Sie jetzt in Ihrem Webbrowser auf localhost: 5000 zu. Sie sollten "Hallo Welt!" Sehen. Flask scheint Vorlagen standardmäßig in einem Verzeichnis mit dem Namen "Vorlagen" abzulegen.

Unterschied zum ursprünglichen HAML

Wie der Name schon sagt, ist Hamlish "HAML-like", nicht HAML selbst. Dieser Artikel war hilfreich, um den Unterschied zu erkennen.

Selbst im obigen Beispiel sollte es in HAML "% meta {charset:" utf-8 "}" sein, in Hamlish jedoch "% meta charset =" utf-8 "".

Optionsspezifikation

app.jinja_env.hamlish_mode = 'indented'
app.jinja_env.hamlish_enable_div_shortcut = True

Festlegen von Optionen für Hamlish. Weitere Informationen zu den verfügbaren Optionen finden Sie unter hamlish-jinja head family.

Impressionen

Ich fand Flask sehr kompakt und gut. Darüber hinaus scheint Hamlish Ihre Website unterhaltsam und knackig zu gestalten.

Verweise

Verwenden Sie das Webanwendungsframework Flask Ich habe viel gelernt. Lesen Sie dies einfach und Sie können mit dem Aufbau einer kleinen Website beginnen.

Nachtrag

Ich vergesse es immer. Damit wird sichergestellt, dass Änderungen an der Ansichtsdatei wirksam werden, ohne den Server neu zu starten

$ FLASK_DEBUG=1 python app.py

Und.

Recommended Posts

Hallo Welt mit Flask + Hamlish
Hallo Welt auf Flasche
Hallo Welt mit ctypes
Hallo, Welt mit Docker
Zeichne Hallo Welt mit mod_wsgi
Bis hallo Welt mit Zappa
Python beginnend mit Hallo Welt!
Hallo Welt
Hallo Welt! Mit virtueller CAN-Kommunikation
[Hinweis] Hallo Weltausgabe mit Python
Hallo Welt mit Flasche [Passendes Memo]
Hallo Welt! Von QPython mit Braincrash
Bis Hello World mit Flask + uWSGI + Nginx @ Sakuras VPS (CentOS 6.6)
Hallo Welt- und Gesichtserkennung mit opencv-python 4.2
Hallo Welt mit Raspberry Pi + Minecraft Pi Edition
Pymacs helloworld
Flask Tutorial (von der Installation bis zur Hallo Welt)
Cython Helloworld
Hallo Welt! Von QPython mit Brainfu * k
Re: Heroku Leben beginnt mit Flask von Null - Umwelt und Hallo Welt -
Hallo Welt- und Gesichtserkennung mit OpenCV 4.3 + Python
Hallo Welt mit allen Funktionen der Go-Sprache
Begrüßen Sie die Welt mit Python mit IntelliJ
Hallo Welt mit Nginx + Uwsgi + Python auf EC2
Flask Hello World kann nicht in VPS angezeigt werden
Erstellen Sie mit Django eine Hallo-Welt-Anwendung mit nur einer Datei
Erste Python ① Umgebungskonstruktion mit Pythonbrew & Hello World !!
Erstellen Sie in Tornado einen HTTP-Server (Hello World)
web2py Hinweis: Hallo Welt
RabbitMQ Tutorial 1 ("Hallo Welt!")
IP-Einschränkung mit Flask
Hallo Welt mit Django
Djangos erste Hallo Welt
Programmieren mit Python Flask
Lassen Sie uns die Überlebenden von Kaggles Hello World, Titanic, durch logistische Regression vorhersagen.
Hallo Welt mit Google App Engine (Java 8) + Spring Boot + Gradle
Hallo Welt mit Google App Engine (Java 8) + Servlet API 3.1 + Gradle
Stellen Sie Flask jetzt mit ZEIT bereit
Berühre Flask + laufe mit Heroku
Testen Sie den Kolben mit einem Pytest
API mit Flask + uWSGI + Nginx
Entwicklung von Webanwendungen mit Flask
Hallo Welt in GO-Sprache
Anzeigen der Kolbenabdeckung mit pytest-cov
Webanwendung mit Python + Flask ② ③
Lassen Sie uns die Überlebenden von Kaggles Hello World, Titanic durch logistische Regression vorhersagen - Vorhersage / Bewertung
Datei-Upload mit Flask + jQuery
Hallo Welt (Anfänger) mit Django
Hallo Welt mit Google App Engine (Java 11) + Spring Boot + Gradle
Webanwendung mit Python + Flask ④
Beginnen Sie mit Windows, nicht so beängstigend Nim ① Es ist wie Hallo Welt.
Python-Anfänger haben Hello World in 30 Sekunden mit der Mikroframework-Flasche ausprobiert
[LINE-Anmeldung] Überprüfen Sie den Status mit Flask
Lass uns "Hello World" in 40 Sprachen machen! !!
Mit Flask erstellte SNS Python-Grundlagen
[Memo] Links bei der Entwicklung mit Flask
Einführung in TensorFlow - Hallo World Edition
Hallo Welt! (Minimum Viable Block Chain)