WIP
Ich schreibe häufig Webserver mit Flask, daher fasse ich die Seiten zusammen, auf die ich häufig verweise. Ich denke, es wird vorerst eine Sammlung von Links sein, aber wenn ich Zeit habe, möchte ich weitere Inhalte hinzufügen. (Es ist an der Zeit, [FastAPI] zu verwenden (https://fastapi.tiangolo.com/))
Über SECRET_KEY
Es wird empfohlen, "os.urandom (12)" für das offizielle Tutorial zu verwenden, dies ist jedoch ** Anti-Pattern **
Wenn Sie Gunicorn mit mehreren Workern ausführen, funktionieren Session- und CSRF-Schutz (Flask-WTF) nicht ordnungsgemäß, da je nach Worker unterschiedliche SECRET_KEY festgelegt sind.
session
In Vanilleflasche ohne Stopfen
server session Sie müssen ein Plug-In installieren. Zu den Backend-Optionen zum Speichern von Sitzungen gehören Redis, anderes NoSQL, FileSystem, SQL usw.
Als berühmtes Plug-In
und so weiter. FLask-Session greift von Flask aus auf das Backend zu, das die Sitzung enthält, Beamer fungiert jedoch als Middleware des verwendeten WSGI (z. B. Gunicorn). Letzteres bietet auch eine Cache-Funktion. Es wurde bestätigt, dass Flask-Session nicht ordnungsgemäß funktioniert, wenn SQLAlchemy als Backend (dh SQL) angegeben ist. (Stand Mai 2020.5)
logging Flask und seine Plug-Ins bieten häufig eine Protokollausgabefunktion. So erfassen Sie das Ausgabeprotokoll mit dem Protokollhandle der Flask-Haupteinheit und geben es aus
import logging
from flask.logging import default_handler #Protokollhandler für Kolbenkörper
#Anderer Import etc.
from flask_cors import CORS
def create_app():
# init_Verschiedene Verarbeitungen wie App
#Hier das Plug-In, das Sie anmelden möchten`flask_cors`Zu
cors_err_lggr = logger.getLogger('flask_cors')
#Die meisten Plug-Ins verwenden den Namen des integrierten Loggers__name__Ist es in angegeben?
cors_err_lggr.setLever(logging.DEBUG)
#Standard-Protokollhandler hinzugefügt
cors_err_lggr.addHandler(default_handler)
#Andere Verarbeitung
return app
test
Wenn Sie unabhängige Spalten (Spalten, die nicht ForeignKey sind) in der Zwischentabelle von many: many festlegen, ist es besser, "assoziations_proxy" als "Beziehung" zu verwenden. Offizielles Dokument für Association_Proxy, mit Implementierungsbeispiel
Offizielles Dokument Es fühlt sich an wie Capistrano oder Deployer Erklärender Artikel 1 Erklärender Artikel 2
Nein, FastAPI Ist es nicht gut?
Recommended Posts