Przejdź do treści stopki
POMOC DOTYCZąCA JęZYKA PYTHON

Flask Python (jak to działa dla programistów)

Flask to wszechstronny i lekki framework internetowy w języku Python, zaprojektowany, aby pomóc programistom w szybkim tworzeniu wydajnych i skalowalnych złożonych aplikacji internetowych. Oferuje szereg narzędzi i bibliotek dostosowanych do szybkiego tworzenia oprogramowania. Jest znane ze swojej prostoty i minimalizmu, co ułatwia rozpoczęcie pracy ze środowiskiem programowania stron internetowych w języku Python. W tym artykule przyjrzyjmy się pakietowi Flask dla języka Python, jego funkcjom, a później pokrótce omówimy pakiet IronPDF for Python.

Pierwsze kroki

Flask to potężny i elastyczny framework mikro serwerów internetowych dla języka Python. Rozwiązanie to idealnie nadaje się zarówno do małych, jak i dużych, złożonych aplikacji internetowych. Oto kilka kluczowych funkcji Flaska:

  1. Lekki i minimalistyczny:

    • Flask to lekki framework aplikacji internetowych, który ma bardzo niewiele zależności i zapewnia niezbędne komponenty do tworzenia stron internetowych, takie jak routing, obsługa żądań, szablony i testowanie.
    • Nie narzuca sztywnej struktury, pozwalając programistom tworzyć aplikacje na swój sposób.
  2. System routingu:

    • Flask udostępnia system routingu, który mapuje adresy URL do funkcji wyświetlania.
    • Można łatwo definiować różne trasy i obsługiwać metody HTTP (GET, POST itp.).
  3. Silnik dziedziczenia szablonów (Jinja2):

    • Flask zawiera Jinja2, potężny silnik szablonów.
    • Jinja2 pomaga generować dynamiczne strony HTML poprzez łączenie szablonów z danymi.
  4. Skalowalność i elastyczność:
    • Flask pozwala zacząć od niewielkiego projektu i skalować go w miarę potrzeb.
    • Nadaje się do wszystkiego, od podstawowych stron internetowych po złożone aplikacje.

Kluczowe cechy frameworka Flask

  1. Routing: Flask wykorzystuje dekoratory do definiowania tras URL, umożliwiając programistom łatwe mapowanie adresów URL do funkcji w języku Python, co ułatwia obsługę plików statycznych w formacie HTML.
  2. Szablony: Flask integruje silnik szablonów Jinja2, umożliwiając programistom renderowanie dynamicznych stron HTML i CSS poprzez przekazywanie zmiennych z kodu Python do szablonów HTML.
  3. Serwer deweloperski: Flask posiada wbudowany serwer deweloperski, który ułatwia lokalne testowanie i debugowanie aplikacji.
  4. Rozszerzenia: Flask ma modułową konstrukcję i oferuje szeroki zakres rozszerzeń (takich jak SQLAlchemy do integracji z bazami danych, Flask-WTF do obsługi formularzy, Flask-RESTful do tworzenia interfejsów API REST), które w razie potrzeby dodają funkcjonalność do aplikacji.
  5. Obsługa żądań HTTP: Flask upraszcza obsługę żądań HTTP (GET, POST, PUT, DELETE itp.) oraz zapewnia dostęp do danych żądania, takich jak dane wprowadzone w formularzach, pliki cookie i nagłówki.
  6. Tworzenie adresów URL: Flask udostępnia narzędzia do dynamicznego generowania adresów URL, co pomaga zachować elastyczność i skalowalność aplikacji internetowych.
  7. Integracja: Flask można zintegrować z innymi bibliotekami i frameworkami, co sprawia, że jest on wszechstronny i dostosowany do różnych wymagań aplikacji oraz środowisk.

Przykład: Tworzenie podstawowego projektu Flask

Utwórz plik app.py. Upewnij się, że uruchomiłeś poniższe polecenie, aby zainstalować Flask.

pip install flask
pip install flask
SHELL

Następnie dodaj następujący kod do app.py.

# Importing the Flask class from the flask module
from flask import Flask 

# Creating an instance of the Flask class for the web application
app = Flask(__name__)

# Defining a route for the root URL ('/')
@app.route('/')
def index():
    # Function that handles the root URL route, returns a string as response
    return 'Awesome IronPDF'

# Running the application
if __name__ == '__main__':
    # Debug mode is enabled for easier troubleshooting
    app.run(debug=True)
# Importing the Flask class from the flask module
from flask import Flask 

# Creating an instance of the Flask class for the web application
app = Flask(__name__)

# Defining a route for the root URL ('/')
@app.route('/')
def index():
    # Function that handles the root URL route, returns a string as response
    return 'Awesome IronPDF'

# Running the application
if __name__ == '__main__':
    # Debug mode is enabled for easier troubleshooting
    app.run(debug=True)
PYTHON

Uruchom kod, korzystając z pliku Python o nazwie app.py, jak pokazano poniżej.

python app.py
python app.py
SHELL

Wynik

Flask Python (jak to działa dla programistów): Rysunek 1 – Wynik działania Flaska

Przedstawiamy IronPDF

Flask Python (jak to działa dla programistów): Rysunek 2 – IronPDF: biblioteka PDF dla języka Python

IronPDF to solidna biblioteka w języku Python przeznaczona do tworzenia, edytowania i podpisywania dokumentów PDF przy użyciu HTML, CSS, obrazów i JavaScript. Wyróżnia się wysoką wydajnością przy minimalnym zużyciu pamięci. Najważniejsze cechy to:

  • Konwersja HTML do PDF: Konwertuj pliki HTML, ciągi znaków HTML i adresy URL na dokumenty PDF, np. renderując strony internetowe za pomocą renderera PDF przeglądarki Chrome.
  • Obsługa wielu platform: Kompatybilność z Python 3+ na systemach Windows, Mac, Linux oraz platformach chmurowych. IronPDF jest również dostępny dla środowisk .NET, Java, Python i Node.js.
  • Edycja i podpisywanie: dostosuj właściwości plików PDF, zwiększ bezpieczeństwo za pomocą haseł i uprawnień oraz stosuj podpisy cyfrowe.
  • Szablony stron i ustawienia: Dostosuj pliki PDF za pomocą nagłówków, stopek, numerów stron, regulowanych marginesów, niestandardowych rozmiarów papieru i responsywnych układów.
  • Zgodność ze standardami: Spełnia standardy PDF, takie jak PDF/A i PDF/UA, obsługuje kodowanie znaków UTF-8 oraz płynnie radzi sobie z zasobami, takimi jak obrazy, arkusze stylów CSS i czcionki.

Instalacja

pip install ironpdf

Generowanie dokumentów PDF przy użyciu IronPDF i Flask

Wymagania wstępne

  1. Upewnij się, że Visual Studio Code jest zainstalowane jako edytor kodu.
  2. Zainstalowano Python w wersji 3.

Na początek utwórzmy plik w języku Python, aby dodać nasze skrypty.

Otwórz Visual Studio Code i utwórz plik flaskDemo.py.

Zainstaluj niezbędne biblioteki:

pip install flask
pip install ironpdf
pip install flask
pip install ironpdf
SHELL

Następnie dodaj poniższy kod, aby zademonstrować użycie pakietów IronPDF i Flask Python.

# Import necessary libraries
from flask import Flask, request, send_file
from ironpdf import *

# Apply your IronPDF license key
License.LicenseKey = "Your key"

# Create an instance of the Flask class
app = Flask(__name__)

# Define a route for the root URL
@app.route('/')
def index():
    return 'Awesome IronPDF'

# Define a route for generating PDFs
@app.route('/pdf')
def pdf():
    # Retrieve 'g1' and 'g2' parameters from the request's query string
    g1 = request.args.get('g1')
    g2 = request.args.get('g2')

    # Create an instance of the ChromePdfRenderer
    renderer = ChromePdfRenderer()

    # Generate HTML content dynamically based on user inputs
    content = "<h1>Document Generated using IronPDF with Flask GET</h1>"
    content += "<p> Demonstrate PDF generation using User Inputs</p>"
    content += f"<p>Greetings from: {g1}</p>"
    content += f"<p>And Greetings from: {g2}</p>"

    # Render the HTML as a PDF
    pdf = renderer.RenderHtmlAsPdf(content)

    # Save PDF to a file
    pdf.SaveAs("flaskIronPDF.pdf")

    # Set headers to display the PDF inline in the browser
    headers = {
        "Content-Disposition": "inline; filename=sample.pdf"
    }

    # Return the generated PDF to be viewed in the browser
    return send_file('flaskIronPDF.pdf')

# Run the Flask web application
if __name__ == '__main__':
    app.run(debug=True)
# Import necessary libraries
from flask import Flask, request, send_file
from ironpdf import *

# Apply your IronPDF license key
License.LicenseKey = "Your key"

# Create an instance of the Flask class
app = Flask(__name__)

# Define a route for the root URL
@app.route('/')
def index():
    return 'Awesome IronPDF'

# Define a route for generating PDFs
@app.route('/pdf')
def pdf():
    # Retrieve 'g1' and 'g2' parameters from the request's query string
    g1 = request.args.get('g1')
    g2 = request.args.get('g2')

    # Create an instance of the ChromePdfRenderer
    renderer = ChromePdfRenderer()

    # Generate HTML content dynamically based on user inputs
    content = "<h1>Document Generated using IronPDF with Flask GET</h1>"
    content += "<p> Demonstrate PDF generation using User Inputs</p>"
    content += f"<p>Greetings from: {g1}</p>"
    content += f"<p>And Greetings from: {g2}</p>"

    # Render the HTML as a PDF
    pdf = renderer.RenderHtmlAsPdf(content)

    # Save PDF to a file
    pdf.SaveAs("flaskIronPDF.pdf")

    # Set headers to display the PDF inline in the browser
    headers = {
        "Content-Disposition": "inline; filename=sample.pdf"
    }

    # Return the generated PDF to be viewed in the browser
    return send_file('flaskIronPDF.pdf')

# Run the Flask web application
if __name__ == '__main__':
    app.run(debug=True)
PYTHON

Wyjaśnienie kodu

Ten fragment kodu przedstawia aplikację Flask, która wykorzystuje IronPDF do generowania i udostępniania dokumentu PDF na podstawie danych wprowadzonych przez użytkownika za pomocą parametrów URL (g1 i g2).

  1. Importy:

    • from flask import Flask, request, send_file: Importuje moduły Flask niezbędne do tworzenia aplikacji internetowej i obsługi żądań.
    • from ironpdf import *: Importuje funkcjonalność IronPDF do generowania plików PDF.
  2. Ustawianie klucza licencyjnego:

    • License.LicenseKey = "Your key": Stosuje klucz licencyjny wymagany do działania funkcji IronPDF.
  3. Konfiguracja aplikacji Flask:

    • app = Flask(__name__): Tworzy instancję aplikacji Flask.
  4. Definicje tras:

    • @app.route('/'): Definiuje trasę dla adresa URL katalogu głównego ("/"). Po wywołaniu zwraca ciąg znaków "Awesome IronPDF".
    • @app.route('/pdf'): Definiuje trasę dla "/PDF". Po uruchomieniu generuje dokument PDF na podstawie danych wprowadzonych przez użytkownika (g1 i g2).
  5. Generowanie plików PDF:
    Wewnątrz funkcji pdf():

    • Pobiera wartości g1 i g2 z parametrów zapytania żądania przy użyciu request.args.get().
    • Inicjuje instancję ChromePdfRenderer() z IronPDF.
    • Tworzy ciąg znaków HTML (content), który zawiera nagłówki i akapity generowane dynamicznie na podstawie danych wprowadzonych przez użytkownika.
    • Wykorzystuje renderer.RenderHtmlAsPdf(content) do konwersji treści HTML do formatu PDF.
    • Zapisuje dokument PDF lokalnie jako "flaskIronPDF.pdf".
  6. Wysyłanie pliku PDF:

    • Przygotowuje nagłówki odpowiedzi, aby określić, że plik powinien być wyświetlany w przeglądarce w trybie inline ("Content-Disposition": "inline; filename=sample.pdf").
    • Wykorzystuje send_file('flaskIronPDF.pdf') do wysłania wygenerowanego pliku PDF z powrotem do przeglądarki użytkownika jako odpowiedzi.
  7. Uruchamianie aplikacji:
    • if __name__ == '__main__': app.run(debug=True): Uruchamia aplikację Flask w trybie debugowania, umożliwiając łatwe debugowanie i programowanie.

Ta aplikacja Flask pokazuje, jak zintegrować IronPDF do generowania plików PDF w kontekście aplikacji internetowej. Dynamicznie tworzy pliki PDF na podstawie danych wprowadzonych przez użytkownika za pomocą parametrów URL (g1 i g2) i wysyła wygenerowany plik PDF z powrotem do przeglądarki użytkownika. To rozwiązanie jest przydatne do generowania raportów, faktur lub dowolnych dokumentów tworzonych dynamicznie bezpośrednio na podstawie żądań internetowych.

Wynik w formacie PDF

Flask Python (jak to działa dla programistów): Rysunek 3 – Wynik w formacie PDF

Licencja IronPDF

IronPDF działa na kluczu licencyjnym dla języka Python. IronPDF for Python oferuje klucz licencyjny na bezpłatną licencję próbną, aby umożliwić użytkownikom zapoznanie się z jego rozbudowanymi funkcjami przed zakupem.

Umieść klucz licencyjny na początku skryptu przed użyciem pakietu IronPDF:

from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
PYTHON

Wnioski

Pakiet Flask w języku Python służy do tworzenia aplikacji internetowych. Ułatwia tworzenie serwerów internetowych i obsługę żądań HTTP, dzięki czemu jest popularny przy tworzeniu interfejsów API i usług internetowych. Lekkość i elastyczność Flaska pozwalają programistom na szybkie tworzenie prototypów i skalowanie aplikacji. Rozbudowany ekosystem rozszerzeń zwiększa funkcjonalność, wspierając takie zadania jak uwierzytelnianie, integracja z bazami danych i wiele innych. Pomimo swojej prostoty Flask pozostaje potężnym narzędziem zarówno dla małych projektów, jak i dużych, złożonych aplikacji. Prostota, elastyczność i zaawansowane funkcje Flaska sprawiają, że jest to doskonały wybór do tworzenia stron internetowych.

IronPDF to biblioteka języka Python przeznaczona do programowego generowania, edycji i manipulowania dokumentami PDF. Oferuje takie funkcje, jak tworzenie plików PDF od podstaw, konwersja HTML do PDF, łączenie lub dzielenie plików PDF, dodawanie adnotacji i znaków wodnych oraz wyodrębnianie tekstu lub obrazów z plików PDF. IronPDF ma na celu uproszczenie obsługi plików PDF w aplikacjach napisanych w języku Python, zapewniając narzędzia do zarządzania układem dokumentu, czcionkami, kolorami i innymi elementami stylizacji. Biblioteka ta jest przydatna do zadań od generowania dokumentów w aplikacjach internetowych po automatyczne generowanie raportów i systemy zarządzania dokumentami.

W połączeniu z obiema bibliotekami użytkownicy mogą z łatwością tworzyć aplikacje internetowe z funkcjami generowania plików PDF.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie