Flascheneinführung und grundlegende Einführung

1. Verstehen Sie das Framework

Als Webframework wird Flask hauptsächlich zur Entwicklung von Webanwendungen verwendet. Lassen Sie uns zunächst die Webanwendung verstehen. Der ursprüngliche Zweck der Geburt des Webanwendungsprogramms (World Wide Web) bestand darin, das Internet zum Austausch von Arbeitsdokumenten zu nutzen.

Fügen Sie hier eine Bildbeschreibung ein

1. Alles beginnt damit, dass der Kunde eine Anfrage initiiert.

Alle Flask-Programme müssen eine Programminstanz erstellen.

Wenn ein Client eine Ressource erhalten möchte, initiiert er im Allgemeinen eine HTTP-Anfrage über den Browser.

Zu diesem Zeitpunkt verwendet der Webserver ein WSGI-Protokoll (Web Server Gateway Interface) namens WEB Server Gateway Interface, um alle Anforderungen vom Client an die Flask-Programminstanz weiterzuleiten.

Flask verwendet Werkzeug für die Routing-Verteilung (die Entsprechung zwischen URL-Anfragen und Ansichtsfunktionen). Suchen Sie für jede URL-Anfrage nach der spezifischen Ansichtsfunktion.

In einem Flask-Programm wird das Routing im Allgemeinen über den Dekorator der Programminstanz implementiert. Nachdem die Daten durch Aufrufen der Ansichtsfunktion abgerufen wurden, werden die Daten an die HTML-Vorlagendatei übergeben. Die Vorlagen-Engine ist für das Rendern der HTTP-Antwortdaten verantwortlich, und dann gibt Flask die Antwortdaten an den Browser zurück, und schließlich zeigt der Browser die an zurückgegebenes Ergebnis.

2. Der Client ist nicht unbedingt ein Browser, sondern kann auch eine PC-Software, eine mobile APP oder ein Programm sein

Entsprechend der Arbeit auf der Serverseite gliedert es sich in zwei Teile:

Server: Kommunikation mit dem Client über TCP, Empfangen, Analysieren, Verpacken und Senden von Daten im HTTP-Format

Geschäftsprogramm: Führen Sie eine logische Verarbeitung gemäß den analysierten Anforderungsdaten durch, bilden Sie die zurückzugebenden Daten und senden Sie sie an den Server

Die Zusammenarbeit zwischen dem Server und dem Python-Geschäftsprogramm erfolgt über das WSGI-Protokoll.

1.3 Das Gewicht des Rahmens

Schweres Framework: Um die Entwicklung von Geschäftsprogrammen zu erleichtern, bietet es eine Fülle von Tools und Komponenten, wie z. B. Django

Leichtes Framework: Bietet nur die Kernfunktionen des Web-Frameworks, kostenlos, flexibel und hochgradig anpassbar, wie Flask, Tornado

Zweitens, wissen Sie, Flask

1. Einleitung

Flask wurde 2010 geboren. Es ist ein leichtes Webentwicklungs-Framework, das von Armin Ronacher (Name) in Python-Sprache geschrieben wurde und auf der Werkzeug-Toolbox basiert. Es ist hauptsächlich für kleine Anwendungen mit einfachen Anforderungen gedacht.

Flask selbst entspricht einem Kernel und fast alle anderen Funktionen benötigen Erweiterungen (Mail-Erweiterung Flask-Mail, Benutzerauthentifizierung Flask-Login), die durch Erweiterungen von Drittanbietern implementiert werden müssen. Sie können beispielsweise die Flask-Erweiterung verwenden, um ORM, Tools zur Formularüberprüfung, Datei-Upload, Identitätsüberprüfung usw. hinzuzufügen. Flask verfügt nicht über eine Standarddatenbank, Sie können MySQL oder NoSQL wählen. Sein WSGI-Toolkit verwendet Werkzeug (Routing-Modul) und seine Template-Engine verwendet Jinja2.

Man kann sagen, dass der Kern des Flask-Frameworks Werkzeug und Jinja2 ist.

Das bekannteste Framework für Python ist neben Flask, Tornado und anderen Frameworks Django. Obwohl Flask nicht das bekannteste Framework ist, sollte Flask als eines der flexibelsten Frameworks angesehen werden, weshalb Flask bei Entwicklern so beliebt ist.

Fügen Sie hier eine Bildbeschreibung ein

2. Im Vergleich zu Django

Django bietet:

django-admin erstellt schnell ein Projektverzeichnis

manage.py verwaltet die Projektentwicklung

ORM-Modell (Datenbankabstraktionsschicht)

Admin-Hintergrundverwaltungsseite

Caching-Mechanismus

Dateispeichersystem

Benutzerauthentifizierungssystem

Und diese, Flask hat nicht, alle benötigen ein Erweiterungspaket, um es bereitzustellen

3. Flask-Erweiterungspaket

Flask-SQLalchemy: Datenbank betreiben;

Flask-migrate: Migrationsdatenbank verwalten;

Flaschenpost: Post;

Kolben-WTF: Form;

Flask-Skript: Skript einfügen;

Flask-Login: authentifizierter Benutzerstatus;

Flask-RESTful: ein Tool zur Entwicklung der REST-API;

Flask-Bootstrap: integriertes Front-End-Twitter-Bootstrap-Framework;

Flask-Moment: Datum und Uhrzeit lokalisieren;

3. Installieren und verwenden Sie Flask

1. Kolben installieren

pip3 install flask

2. Das erste Flask-Programm

Ausführungsprozess des Flask-Programms:

Alle Flask-Programme müssen eine Programminstanz haben.

Nachdem Flask die Ansichtsfunktion aufgerufen hat, gibt es den Rückgabewert der Ansichtsfunktion als Inhalt der Antwort an den Client zurück. Im Allgemeinen besteht der Antwortinhalt hauptsächlich aus Zeichenfolgen und Statuscodes.

Wenn ein Client eine Ressource erhalten möchte, initiiert er im Allgemeinen eine HTTP-Anfrage über den Browser. Zu diesem Zeitpunkt verwendet der Webserver das WSGI-Protokoll (Web Server Gateway Interface), um alle Anforderungen vom Client an die Flask-Programminstanz weiterzuleiten. WSGI ist eine einfache und allgemeine Schnittstelle zwischen einem Webserver und einer Webanwendung, die für die Python-Sprache definiert ist. Es kapselt diese zugrunde liegenden Codes und Vorgänge zum Empfangen von HTTP-Anfragen, zum Parsen von HTTP-Anfragen, zum Senden von HTTP-Antworten usw., sodass Entwickler effizient schreiben können Web Applikationen.

Die Programminstanz verwendet Werkzeug für die Routing-Verteilung (die Entsprechung zwischen URL-Anfragen und Ansichtsfunktionen). Suchen Sie für jede URL-Anfrage nach der spezifischen Ansichtsfunktion. In einem Flask-Programm wird das Routing im Allgemeinen über den Routendekorator der Programminstanz implementiert. Die Methode add_url_route() wird im Routendekorator aufgerufen, um die Routenregistrierung zu implementieren.

Rufen Sie die Ansichtsfunktion auf, rufen Sie die Antwortdaten ab und übergeben Sie die Daten an die HTML-Vorlagendatei. Die Vorlagen-Engine ist für das Rendern der Antwortdaten verantwortlich, und dann gibt Flask die Antwortdaten an den Browser zurück. Schließlich verarbeitet der Browser das zurückgegebene Ergebnis und zeigt es dem Kunden an.

Erstellen Sie ein Flask-Projekt und erstellen Sie dann die Datei app.py.

# 导入Flask类
from flask import Flask

#Flask类接收一个参数__name__
app = Flask(__name__)

# 装饰器的作用是将路由映射到视图函数index
@app.route('/')
def index():
    return 'Hello World'

# Flask应用程序实例的run方法启动WEB服务器
if __name__ == '__main__':
    app.run()

Starten Sie das Projekt und besuchen Sie es im Browser. Zu diesem Zeitpunkt wird Hello World auf der Seite angezeigt.

3. Flask erstellt ein App-Objekt

3.1 Initialisierungsparameter

# 创建flask的应用对象;
# __name__   flask以这个模块所在的目录为总目录,默认这个目录中static为静态目录,templates为模板目录
app = Flask(__name__,
            static_url_path='/static',      # 访问静态资源的url前缀,默认为static
            static_folder='static',         # 静态文件的目录,默认为static
            template_folder='templates',    # 模板文件的目录,默认为templates
            )

3.2 Konfigurationsparameter

# 配置参数的使用方式(开启调试模式)
# 1.使用配置文件
app.config.from_pyfile("config.cfg")    # 在项目下创建一个config.cfg文件,然后在里面写DEBUG=True

# 2.使用对象配置参数
class Config(object):
     DEBUG = True
app.config.from_object(Config)

# 3.直接操作config的字典对象
app.config["DEBUG"] = True

3.3 Konfigurationsparameter in der Ansicht lesen

# 2.使用对象配置参数
# class Config(object):
#     DEBUG = True
#     NAME = "test"
# app.config.from_object(Config)

from flask import Flask, current_app

    # 读取配置参数
    # 1.直接从全局对象app的config字典中取值
    # print(app.config.get("NAME"))
    # 2. 通过current_app获取参数
    # print(current_app.config.get("NAME"))

3.4 Parameter von app.run

# 启动Flask程序
app.run()   # 默认127.0.0.1
# app.run(host="192.168.1.1", port=5000)   # 使用电脑ip
# app.run(host="0.0.0.0", port=5000, debug=True)  # 配置host和port。设置0.0.0.0时都可以访问;可以在这里设置调试模式

Ich denke du magst

Origin blog.csdn.net/weixin_44816664/article/details/132044411
Empfohlen
Rangfolge