Flask-CORS Uzantısı ile Çapraz Kaynak Paylaşımını Ele Alın

Flask-CORS, Flask uygulamaları için CORS (Çapraz Kaynak Paylaşımı) ile ilgilenir. Uygulamanız ve diğer alan adları arasında güvenli iletişim sağlar.

Efe Demir

Efe Demir

5 June 2025

Flask-CORS Uzantısı ile Çapraz Kaynak Paylaşımını Ele Alın

Web geliştirme alanında, farklı alanlar arasında güvenli iletişimi sağlamak çok önemlidir. İşte bu noktada Flask-CORS, Python ile oluşturulmuş Flask web uygulamaları için hayati bir araç olarak ortaya çıkıyor. Cross-Origin Resource Sharing (CORS) yapılandırmalarını kolaylaştırarak, Flask-CORS, geliştiricilerin API'leriyle etkileşime girebilecek yetkili kaynakları titizlikle yönetmelerini sağlar.

💡
Şüphesiz ki Flask, günümüzde en çok kullanılan Python web çerçevelerinden biridir. Düzgün Flask API'leri oluşturmak için, profesyonel API geliştirmesi için gerekli her şeyi içeren kapsamlı bir API geliştirme platformu olan Apidog'u denemeyi şiddetle düşünün.

Profesyonel gibi geliştirmeye başlamak için, şimdi aşağıdaki butona tıklayın! 👇
button

Bu, yalnızca hassas verileri korumakla kalmaz, aynı zamanda Flask uygulamanız ile harici kaynaklar arasındaki işlevselliklerin ve veri alışverişinin sorunsuz entegrasyonunu teşvik ederek, sağlam ve özellik açısından zengin web uygulamaları için zemin hazırlar.

Bu makalenin ana konusu Flask ve Cross-Origin Resource Sharing etrafında döndüğünden, Flask-CORS kombinasyonunu nasıl etkinleştirebileceğimize geçmeden önce her iki kavrama da daha yakından bakacağız.

Flask Nedir?

Flask, web uygulamaları oluşturmak için hem hafif hem de esnek bir temel sağlayan bir Python web çerçevesine atıfta bulunur.

Flask'ın Temel Yönleri

Minimalist Felsefe

Kapsamlı çerçevelerden farklı olarak, Flask minimalist bir yaklaşımı benimser. Yönlendirme ve istek işleme gibi web geliştirme için temel işlevler sağlar, ancak katı bir yapı dayatmaz.

Bu, geliştiricilerin belirli projeleri için ihtiyaç duydukları ek kitaplıkları ve uzantıları seçmelerine, özelleştirmeyi teşvik etmelerine ve çerçeveyi gereksinimlerine göre uyarlamalarına olanak tanır.

Yönlendirme

Flask, URL'leri Python işlevlerine (görünümler olarak adlandırılır) eşleyen bir yönlendirme sistemi kullanır. Bir kullanıcı belirli bir URL'ye eriştiğinde, ilgili görünüm işlevi yürütülür.

Bu esnek yönlendirme sistemi, geliştiricilere URL'lerin nasıl işlendiği ve hangi eylemlerin tetiklendiği konusunda ayrıntılı kontrol sunar.

Şablon Motoru Entegrasyonu

Flask tek başına şablonlama işlemini gerçekleştirmez, bunun yerine Jinja2 gibi popüler şablon motorlarıyla sorunsuz bir şekilde entegre olur.

Bu şablon motorları, geliştiricilerin değişkenlerin ve mantığın şablonlara gömülebildiği özlü bir sözdizimi kullanarak dinamik HTML şablonları oluşturmalarını sağlar. Bu nedenle, kullanıcılar için kişiselleştirilmiş içerik oluşturulmasını sağlar.

İstek ve Yanıt İşleme

Flask, gelen HTTP isteklerini işlemek ve başlıklar, çerezler ve istemci tarafından gönderilen veriler gibi nesne bilgilerini talep ederek uygun yanıtlar oluşturmak için araçlar sağlar. Geliştiriciler ayrıca başlıklar, durum kodları ve yanıt gövdeleri ile HTTP yanıtları oluşturabilir ve özelleştirebilir.

Hafif ve Hızlı

Flask daha az işlem gücü kullanır ve diğer popüler çerçevelere kıyasla daha hızlı bir uygulama başlatma süresi ve daha düşük bellek tüketimi sağlar.

Kullanımı Kolay

Flask, ilk kez kullananlar için öğrenmesi ve kullanması kolay olmasını sağlayan temiz ve iyi belgelenmiş bir kod tabanına sahiptir. Bu nazik öğrenme eğrisi, geliştiricilerin anlaşılması zor çerçevelerle uğraşmak yerine uygulamalarının mantığını oluşturmaya daha fazla odaklanmalarını sağlar.

Genişletilebilir

Flask, ek işlevler sağlayan zengin bir üçüncü taraf uzantı ekosistemine sahiptir. Bu uzantılar, veritabanı etkileşiminden ve kimlik doğrulamasından form işleme ve güvenliğe kadar çok çeşitli ihtiyaçları kapsar.

Yerleşik Geliştirme Sunucusu

Flask, yerel test ve hata ayıklama için yerleşik bir geliştirme sunucusuyla birlikte gelir. Bu, geliştiricilerin uygulamalarını hızlı bir şekilde çalıştırmalarını ve ayrı bir web sunucusu kurmaya gerek kalmadan kod değişiklikleri üzerinde yineleme yapmalarını sağlar.

Flask-CORS'u Kullanmak İçin Adım Adım Kılavuz

Bu bölüm, Flask API'lerinizde ve uygulamalarınızda uzantıyı kullanmaya başlayabilmeniz için cihazınıza Flask-CORS'u nasıl yükleyeceğinize dair basitleştirilmiş bir kılavuz içerecektir!

Kurulum

Pip kullanarak Flask-CORS kitaplığını yükleyerek başlayın:

pip install flask-cors

Temel Kullanım

1. Flask-CORS'u ve Flask uygulama örneğinizi içe aktarın:

from flask import Flask
from flask_cors import CORS

2. Flask uygulamanızı örneklendirin:

app = Flask(__name__)

3. Flask-CORS'u başlatın. Varsayılan olarak, bu tüm kaynaklardan gelen CORS isteklerine izin verir:

CORS(app)

Belirli Kaynaklar İçin CORS'u Etkinleştirme

Başlatma sırasında, izin verilen kaynakları bir liste olarak belirtebilirsiniz:

CORS(app, origins=['http://allowed-domain1.com', 'http://allowed-domain2.com'])

CORS Davranışını Özelleştirme (İsteğe Bağlı)

Flask-CORS, CORS davranışının çeşitli yönlerini yapılandırmak için seçenekler sunar:

Bu seçenekler hakkında ayrıntılı bilgi için Flask-CORS belgelerine bakın: https://github.com/corydolphin/flask-cors

Rotalarla Entegrasyon

Varsayılan olarak, Flask-CORS uygulamanızdaki tüm rotalara uygulanır. Ayrıca, yalnızca bu rotalar için CORS'u etkinleştirmek için belirli rotalarda @cross_origin() dekoratörünü kullanabilirsiniz. İşte bir örnek:

@app.route("/")
@cross_origin()  # Bu rota için CORS'u etkinleştir
def hello_world():
    return "Hello, World!"

Unutmayın:

Apidog ile Flask API'leri Oluşturmaya Başlayın

Zaten bir Flask API'si için hazır Python kodunuz varsa, görsel olarak geliştirmeye başlamak için tek yapmanız gereken bir API platformu edinmek!

Daha önce bir API aracı kullanmadıysanız, kullanıcıları tüm API yaşam döngüsü için gerekli tüm araçlarla donatan sofistike bir API geliştirme aracı olan Apidog'u denemenizi şiddetle öneririz.

apidog interface
button

Apidog ile API'lerinizi Kendi Yolunuzla Tasarlayın ve Değiştirin

Apidog, herhangi bir kullanıcının kendi API'sini oluşturma yeteneğine sahip olmasını sağlar, bu nedenle, birinin ihtiyaçlarını karşılamayan bir API için artık şikayet etmeye gerek yok!

new api apidog

Yukarıdaki resimde gösterildiği gibi, New API düğmesine basarak başlayın.

add details new api apidog

Bu bölümde, API'nizin uygulamalarla nasıl etkileşime girdiğini titizlikle oluşturacaksınız. Şunları belirtebilirsiniz:

Apidog Kullanarak API'leri Test Etme

Test, API tasarımından hemen sonra gelir. Apidog ile, mevcut tasarımda herhangi bir kusur olup olmadığını görmek için doğrudan API'nizi test etmeye başlayabilirsiniz.

İlk adım, test etmek istediğiniz belirli API uç noktasını girmektir. Test ettiğiniz belirli API için gerekirse parametreler gibi ek ayrıntılar ekleyin.

Bir URL'de birden fazla parametre kullanma konusunda emin değilseniz, bu makale, daha büyük veri kümeleri içindeki tam kaynağa nasıl ulaşacağınız konusunda size rehberlik edebilir!

apidog response view

Gönder'e tıklamak, isteği tetikler ve API'nin yanıtını tam olarak ortaya çıkarır. İsteğin başarılı olup olmadığını görmek için durum kodunu kontrol edin. Ayrıca, istemci kodunuzun arka uç sunucular tarafından gönderilen bilgileri işlemek için kullanabileceği tam veri biçimini sağlayan ham yanıtı da inceleyebilirsiniz.

button

Sonuç

Flask-CORS, Flask uygulamalarında CORS yapılandırmalarını yönetmek için güçlü ve kullanıcı dostu bir çözüm olarak ortaya çıkıyor. Süreci kolaylaştırarak, geliştiricilerin API'leriyle hangi harici alanların etkileşime girebileceğini titizlikle kontrol etmelerini sağlar. Bu, güvenli iletişimi sağlar ve harici kaynaklarla sorunsuz entegrasyonu teşvik eder. İster basit bir web uygulaması ister karmaşık bir web hizmeti oluşturuyor olun, Flask-CORS, Flask uygulamanız ile dış dünya arasında güvenli ve kontrollü iletişim kurmanızı sağlayarak, sağlam ve özellik açısından zengin uygulamalar için temel oluşturur.

Ayrıca, Flask-CORS'un genişletilebilirliği ve kullanım kolaylığı, onu her deneyim seviyesindeki geliştiriciler için cazip bir seçim haline getirir. Açık belgeleri ve kolayca erişilebilen yapılandırma seçenekleriyle Flask-CORS, geliştiricilerin karmaşık CORS yapılandırmalarına takılmadan uygulamalarının temel işlevlerini oluşturmaya odaklanmalarına yardımcı olur. Web geliştirme gelişmeye devam ettikçe, Flask-CORS, Flask uygulamalarında CORS'u yönetmek için sağlam ve esnek bir çözüm arayan geliştiriciler için hayati bir araç olmaya devam edecek gibi görünüyor.

Explore more

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Yapay zeka hızla gelişiyor. FractalAIResearch/Fathom-R1-14B, 14.8 milyar parametreyle matematik ve genel akıl yürütmede başarılı.

5 June 2025

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code'u keşfedin: Kurumsal kullanıma özel, en özelleştirilebilir yapay zeka destekli kodlama asistanı.

5 June 2025

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code, 2025'te yapay zeka destekli kodlamayı nasıl devrimleştiriyor? Özelliklerini, kullanımını ve Windsurf kısıtlamalarından sonra neden popüler olduğunu öğrenin. Geliştiriciler için okunması gereken!

5 June 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin