Flask: Różnice pomiędzy wersjami
(Utworzono nową stronę "{{Stub}} Flask to webowy mikroframework do Pythona na licencji BSD. === Wstępna konfiguracja domeny === === Projekt Flask === === === === Odnośniki Zewnętrzne...") |
(→Konfiguracja Phusion Passenger) |
||
(Nie pokazano 15 wersji utworzonych przez 3 użytkowników) | |||
Linia 1: | Linia 1: | ||
− | + | Flask to webowy mikroframework do [[Python]]a na licencji BSD. Na serwerach MyDevil.net możliwe jest uruchamianie stron opartych o ten framework dzięki zastosowaniu technologii Phusion Passenger. | |
− | Flask to webowy mikroframework do [[Python]]a na licencji BSD. | ||
− | === Wstępna konfiguracja | + | === Wstępna konfiguracja === |
+ | |||
+ | Do uruchomienia strony napisanej we ''Flask'' należy najpierw zadbać o prawidłową konfigurację środowiska oraz domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że: | ||
+ | |||
+ | * Dodano środowisko [[virtualenv]] dla python i zainstalowano flask - <code>pip install flask</code>. | ||
+ | * Domena jest prawidłowo dodana i skonfigurowana w naszym systemie [[DNS]]. | ||
+ | * Została dodana [[WWW|strona WWW]] typu [[python]] oraz ścieżką do pliku binarnego <code class="directory>python</code> wewnątrz wcześniej skonfigurowanego środowiska. | ||
=== Projekt Flask === | === Projekt Flask === | ||
− | === === | + | Głównym katalogiem projektu ''Flask'' musi być folder <code class="directory">/usr/home/''login''/domains/''domena''/public_python</code>. Należy również usunąć plik index.html poleceniem <code>rm /usr/home/''login''/domains/''domena''/public_python/public/index.html</code>. |
+ | |||
+ | === Konfiguracja ''Phusion Passenger'' === | ||
+ | |||
+ | Ostatnim krokiem jest konfiguracja modułu ''Phusion Passenger'', który jest odpowiedzialny za uruchomienie aplikacji ''Flask''. Należy w katalogu projektu Flask (<code class="directory">/usr/home/''login''/domains/''domena''/public_python</code>) utworzyć plik <code class="directory">passenger_wsgi.py</code> i umieścić w nim następującą zawartość, modyfikując linijkę importu: | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | import sys, os | ||
+ | sys.path.append(os.getcwd()) | ||
+ | from aplikacja import app as application | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Przykładowy plik aplikacja.py (do umieszczenia w katalogu witryny w celu przetestowania działania ''Flask''): | ||
+ | <syntaxhighlight lang="python"> | ||
+ | from flask import Flask | ||
+ | app = Flask(__name__) | ||
+ | |||
+ | @app.route("/") | ||
+ | def hello(): | ||
+ | return "Hello World!" | ||
+ | |||
+ | if __name__ == "__main__": | ||
+ | app.run() | ||
+ | </syntaxhighlight > | ||
+ | |||
+ | === X-Accel-Buffering === | ||
+ | By wyłączyć bufforowanie należy wysłać w nagłówku odpowiedzi - np. korzystając z stream_with_context(): | ||
+ | <syntaxhighlight lang="python"> | ||
+ | resp = Response(stream_with_context(.....parametry....)) | ||
+ | resp.headers['X-Accel-Buffering'] = 'no' | ||
+ | </syntaxhighlight > | ||
=== Odnośniki Zewnętrzne === | === Odnośniki Zewnętrzne === | ||
* [http://flask.pocoo.org/ Flask] | * [http://flask.pocoo.org/ Flask] | ||
+ | |||
+ | [[Kategoria:Python]] |
Aktualna wersja na dzień 12:38, 8 lis 2022
Flask to webowy mikroframework do Pythona na licencji BSD. Na serwerach MyDevil.net możliwe jest uruchamianie stron opartych o ten framework dzięki zastosowaniu technologii Phusion Passenger.
Spis treści
Wstępna konfiguracja
Do uruchomienia strony napisanej we Flask należy najpierw zadbać o prawidłową konfigurację środowiska oraz domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:
- Dodano środowisko virtualenv dla python i zainstalowano flask -
pip install flask
. - Domena jest prawidłowo dodana i skonfigurowana w naszym systemie DNS.
- Została dodana strona WWW typu python oraz ścieżką do pliku binarnego
python
wewnątrz wcześniej skonfigurowanego środowiska.
Projekt Flask
Głównym katalogiem projektu Flask musi być folder /usr/home/login/domains/domena/public_python
. Należy również usunąć plik index.html poleceniem rm /usr/home/login/domains/domena/public_python/public/index.html
.
Konfiguracja Phusion Passenger
Ostatnim krokiem jest konfiguracja modułu Phusion Passenger, który jest odpowiedzialny za uruchomienie aplikacji Flask. Należy w katalogu projektu Flask (/usr/home/login/domains/domena/public_python
) utworzyć plik passenger_wsgi.py
i umieścić w nim następującą zawartość, modyfikując linijkę importu:
import sys, os sys.path.append(os.getcwd()) from aplikacja import app as application
Przykładowy plik aplikacja.py (do umieszczenia w katalogu witryny w celu przetestowania działania Flask):
from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == "__main__": app.run()
X-Accel-Buffering
By wyłączyć bufforowanie należy wysłać w nagłówku odpowiedzi - np. korzystając z stream_with_context():
resp = Response(stream_with_context(.....parametry....)) resp.headers['X-Accel-Buffering'] = 'no'