Altbilgi içeriğine atla
PYTHON YARDıM

Flask Python (Geliştiriciler İçin Nasıl Çalışir)

Flask, geliştiricilerin verimli ve olceklenebilir karmasik web uygulamalarini hizli bir sekilde oluşturmalarina yardimci olmak icin tasarlanmis, çok yonlu ve hafif bir Python web cercevesidir. Hizli geliştirme icin ozellestirilmis bir dizi arac ve kutuphane sunar. Basitligi ve minimalizmi ile bilinir ve Python'da bir web geliştirme ortamiyla başlamayi kolaylastirir. Bu makalede, Flask Python paketi, özellikleri uzerinde duracagiz ve daha sonra kisa bir sekilde IronPDF Python Paketine de deginecegiz.

Başlarken

Flask, Python icin guclu ve esnek bir mikro web sunucu cercevesidir. Hem küçük hem de buyuk karmasik web uygulamalari icin idealdir. Iste Flask'in bazi temel özellikleri:

  1. Hafif ve Minimalist:

    • Flask, çok az bagimliliga sahip olan hafif bir web uygulamasi cercevesidir ve yonlendirme, istek yonetimi, sablonlama ve test gibi web geliştirmeye yonelik gerekli bilesenleri sunar.
    • Sabit bir yapi dayatmaz, geliştiricilerin uygulamalari kendi isteklerine gore insa etmelerine olanak tanir.
  2. Yonlendirme Sistemi:

    • Flask, URL'leri gorunum fonksiyonlarina esleyen bir yonlendirme sistemi sunar.
    • Farkli yonlendirmeler tanimlayabilir ve HTTP metodlarini (GET, POST, vb.) kolayca yonetebilirsiniz.
  3. Sablon Kalitim Motoru (Jinja2):

    • Flask, guclu bir sablon motoru olan Jinja2'yi icerir.
    • Jinja2, sablonlari veri ile birlestirerek dinamik HTML sayfalari oluşturmaya yardimci olur.
  4. Olceklendirilebilirlik ve Esneklik:
    • Flask, küçük başlayip ihtiyaça gore buyumaniza olanak tanir.
    • Temel web sayfalarindan karmasik uygulamalara kadar her turlu ihtiyaç icin uygundur.

Flask Cercevesinin Temel Özellikleri

  1. Yonlendirme: Flask, URL yonlendirmelerini tanimlamak icin dekoratorler kullanir ve geliştiricilerin URL'leri Python fonksiyonlarina kolayca eslemelerine olanak tanir, bu da HTML ile statik dosyalarin kolayca sunulmasini saglar.
  2. Sablonlar: Flask, Jinja2 sablonlama motorunu entegre eder ve geliştiricilerin degiskenleri Python kodundan HTML sablonlarina gecirerek dinamik HTML ve CSS sayfalarini render etmelerini saglar.
  3. Geliştirme Sunucusu: Flask, uygulamalari yerel olarak test etmek ve hata ayiklamak icin kullanisli olan bir yerlesik geliştirme sunucusuna sahiptir.
  4. Eklentiler: Flask, moduler bir tasarima sahiptir ve uygulamalara ihtiyaça gore islevsellik ekleyen genis bir eklenti yelpazesi sunar (veritabani entegrasyonu icin SQLAlchemy, form işleme icin Flask-WTF, REST API'leri oluşturmak icin Flask-RESTful gibi).
  5. HTTP Istek Yonetimi: Flask, HTTP isteklerinin (GET, POST, PUT, DELETE, vb.) yonetimini basitlestirir ve form girdileri, cerezler ve basliklar gibi istek verilerine erişimi saglar.
  6. URL Oluşturma: Flask, web uygulamalarinin esneklik ve olceklendirilebilirligini korumaya yardimci olan URL'leri dinamik olarak oluşturmak icin araclar sunar.
  7. Entegrasyon: Flask, diğer kutuphane ve cercevelerle entegre edilebilir, bu da onu çeşitli uygulama gereksinimleri ve ortamlar icin çok yonlu hale getirir.

Örnek: Temel Bir Flask Projesi Oluşturma

Bir dosya oluşturun app.py. Flask'i yuklemek icin asagidaki komutu calistirdiginizdan emin olun.

pip install flask
pip install flask
SHELL

Daha sonra aşağıdaki kodu app.py içine ekleyin.

# 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

Aşağıda gösterildiği gibi app.py adlı Python dosyasını kullanarak kodu çalıştırın.

python app.py
python app.py
SHELL

Çıktı

Flask Python (Geliştiriciler İçin Nasıl Çalışır): Şekil 1 - Flask Çıktısı

IronPDF'i Tanıtma

Flask Python (Geliştiriciler İçin Nasıl Çalışır): Şekil 2 - IronPDF: Python PDF Kütüphanesi

IronPDF, HTML, CSS, resimler ve JavaScript kullanarak PDF dokümanlari oluşturmak, duzenlemek ve imzalamak icin tasarlanmis guvenilir bir Python kutuphanesidir. Dusuk bellek kullanimi ile performans konusunda ustundur. Ana özellikler şunlardır:

  • HTML'den PDF'ye Dönüştürme: HTML dosyalarini, HTML dizelerini ve URL'leri PDF dokümanlarina dönüştürun, ornegin Chrome PDF cizici kullanarak web sayfalarini render edin.
  • Platformlar Arasi Destek: Windows, Mac, Linux ve Bulut Platformlarinda Python 3+ ile uyumludur. IronPDF, .NET, Java, Python ve Node.js ortamlarinda da mevcuttur.
  • Duzenleme ve Imzalama: PDF özelliklerini ozellestirin, sifreler ve izinlerle guvenligi saglayin ve dijital imzalar uygulayin.
  • Sayfa Sablonlari ve Ayarlar: Basliklar, altbilgiler, sayfa numaralari, ayarlanabilir kenar bosluklari, ozel kagit boyutlari ve duyarlı dizaynlar ile PDF'leri duzenleyin.
  • Standartlarla Uyumluluk: PDF/A ve PDF/UA gibi PDF standartlarina uyumludur, UTF-8 karakter kodlamasini destekler ve resimler, CSS stil dosyalari ve yazı tipleri gibi varliklari sorunsuz bir sekilde isler.

Kurulum

pip install ironpdf

IronPDF ve Flask ile PDF Dokümanlari Oluşturun

Önkoşullar

  1. Visual Studio Code'un bir kod duzenleyicisi olarak yuklenmis oldugundan emin olun.
  2. Python sürüm 3 yüklü olmalıdır.

Başlangıç olarak, betiklerimizi eklemek için bir Python dosyası oluşturalım.

Visual Studio Code'u açın ve bir dosya oluşturun, flaskDemo.py.

Gerekli kutuphaneleri yukleyin:

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

Ardindan IronPDF ve Flask Python paketlerinin kullanimini göstermek icin asagidaki kodu ekleyin.

# 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

Kod Açıklaması

Bu kod parçası, kullanıcının URL parametreleri (g1 ve g2) aracılığıyla sağladığı verilere dayalı olarak PDF belgesi oluşturmak ve sunmak için IronPDF kullanan bir Flask uygulamasını göstermektedir.

  1. Importlar:

    • from flask import Flask, request, send_file: Web uygulaması oluşturmak ve istekleri işlemek için gerekli Flask modüllerini içe aktarır.
    • from ironpdf import *: PDF oluşturma için IronPDF fonksiyonunu içe aktarır.
  2. Lisans Anahtari Ayarlama:

    • License.LicenseKey = "Your key": IronPDF fonksiyonelliği için gerekli lisans anahtarını uygular.
  3. Flask Uygulamasi Kurulumu:

    • app = Flask(__name__): Bir Flask uygulaması örneği oluşturur.
  4. Yonlendirme Tanimlamalari:

    • @app.route('/'): Kök URL ('/') için bir güzergah tanımlar. Erişildiğinde, 'Awesome IronPDF' stringini döndürür.
    • @app.route('/pdf'): '/pdf' için bir güzergah tanımlar. Erişildiğinde, kullanıcı girdilerine (g1 ve g2) dayalı olarak bir PDF belgesi oluşturur.
  5. PDF Oluşturma:
    pdf() fonksiyonu içinde:

    • @--CODE-812--@@ ve g2 değerlerini isteğin sorgu parametrelerinden request.args.get() kullanarak alır.
    • IronPDF'ten bir ChromePdfRenderer() örneği başlatır.
    • Kullanıcı girdilerine dayalı olarak dinamik olarak oluşturulan başlıklar ve paragrafları içeren bir HTML dizesi (content) oluşturur.
    • HTML içeriğini PDF'e dönüştürmek için renderer.RenderHtmlAsPdf(content) kullanır.
    • PDF belgesini yerel olarak 'flaskIronPDF.pdf' olarak kaydeder.
  6. PDF Dosyasını Gönderme:

    • Dosyanın tarayıcıda satır içi görüntülenmesi gerektiğini belirlemek için yanıt için başlıklar hazırlar ("Content-Disposition": "inline; filename=sample.pdf").
    • Oluşturulan PDF dosyasını yanıt olarak kullanıcının tarayıcısına geri göndermek için send_file('flaskIronPDF.pdf') kullanır.
  7. Uygulamayı Çalıştırma:
    • if __name__ == '__main__': app.run(debug=True): Flask uygulamasını hata ayıklama modunda başlatır, kolay hata ayıklama ve geliştirme sağlar.

Bu Flask uygulaması, web uygulaması bağlamında PDF oluşturma için IronPDF'yi entegre etmenin nasıl yapılacağını gösterir. Kullanıcı girdilerine dayalı olarak URL parametreleri (g1 ve g2) aracılığıyla dinamik olarak PDF'ler oluşturur ve oluşturulan PDF dosyasını kullanıcının tarayıcısına geri sunar. Bu yapılandırma, raporlar, faturalar veya web isteklerinden doğrudan dinamik olarak oluşturulan belgeleri üretmek için yararlıdır.

Çıktı PDF

Flask Python (Geliştiriciler İçin Nasıl Çalışır): Şekil 3 - PDF Çıktısı

IronPDF Lisansı

IronPDF, Python icin lisans anahtarinda calisir. IronPDF for Python, kullanıcıların satın almadan önce kapsamlı özelliklerini kontrol etmelerine olanak tanımak için ücretsiz deneme lisans anahtarı sunar.

IronPDF paketi kullanmadan önce scriptin başına Lisans Anahtarını yerleştirin:

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

Sonuç

Flask Python paketi, web uygulamaları geliştirmek için kullanılır. Web sunucularının oluşturulmasını ve HTTP isteklerinin işlenmesini basitleştirir, API'ler ve web servisleri oluşturmak için popüler hale getirir. Flask'ın hafifliği ve esnekliği, geliştiricilerin uygulamaları hızlı bir şekilde prototiple ve ölçeklendirmesine olanak tanır. Geniş genişletme ekosistemi, kimlik doğrulama, veri tabanı entegrasyonu ve daha fazlası gibi görevleri destekleyerek işlevselliği artırır. Basitliğine rağmen, Flask hem küçük ölçekli projeler hem de büyük, karmaşık uygulamalar için güçlü kalır. Flask'ın basitliği, esnekliği ve güçlü özellikleri onu web geliştirme için mükemmel bir seçim yapar.

IronPDF, PDF belgelerini programlı olarak oluşturmak, düzenlemek ve manipüle etmek için tasarlanmış bir Python kütüphanesidir. Sıfırdan PDF dosyaları oluşturma, HTML'yi PDF'ye dönüştürme, PDF'leri birleştirme veya ayırma, açıklama ve filigran ekleme ve PDF'lerden metin veya görüntü çıkarma gibi işlevler sunar. IronPDF, Python uygulamalarında PDF yönetimini kolaylaştırmayı, belge yerleşimi, yazı tipleri, renkler ve diğer stil öğelerini yönetmek için araçlar sağlamayı hedefler. Bu kütüphane, web uygulamalarında belge oluşturma, otomatik rapor üretimi ve belge yönetim sistemleri gibi görevler için kullanışlıdır.

Her iki kütüphane ile birlikte, kullanıcılar kolayca PDF oluşturma yeteneklerine sahip web uygulamaları geliştirebilir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara