- Katılım
- 21 Ocak 2024
- Mesajlar
- 164
- Tepkime puanı
- 36
- Puanları
- 28
Çok yönlü ve yeni başlayanlara uygun bir programlama dili olan Python, basitliği, okunabilirliği ve sağlam ekosistemi nedeniyle web geliştirme için yaygın olarak kullanılmaktadır. Bu makalede, Python kullanarak bir web uygulaması oluşturma sürecinde sizi adım adım bir yolculuğa çıkaracağız. Geliştirme ortamınızı kurmaktan uygulamanızı dağıtmaya kadar her şeyi ele alacağız. Öyleyse, hadi başlayalım!
Doğru Framework'ü Seçmek:
Python ile web geliştirme söz konusu olduğunda, çerçeveler için çeşitli seçenekleriniz vardır. İki popüler seçenek Django ve Flask'tır. Django, karmaşık web uygulamaları oluşturmak için ihtiyacınız olan her şeyi sağlayan tam özellikli bir çerçevedir, Flask ise daha fazla esneklik sunan hafif bir çerçevedir. Bu makalenin amacı doğrultusunda, yeni başlayanlar için daha uygun olduğu için Flask'a odaklanacağız.
Geliştirme Ortamınızı Kurun:
Web uygulamanızı oluşturmaya başlamadan önce, geliştirme ortamınızı kurmanız gerekir. İlk olarak, Python'un makinenizde kurulu olduğundan emin olun. En son sürümü resmi Python web sitesinden indirebilirsiniz. Ayrıca, proje bağımlılıklarınızı izole etmek için sanal bir ortam kullanmanız önerilir. Terminalinizde aşağıdaki komutu kullanarak sanal bir ortam oluşturabilirsiniz:
Flask'ı Yükleme:
Flask'ı kullanmak için sanal ortamınıza yüklemeniz gerekir. Sanal ortamınızı etkinleştirin ve aşağıdaki komutu çalıştırın:
Bir Flask Uygulaması Oluşturma:
Flask yüklendiğine göre şimdi basit bir web uygulaması oluşturalım. app.py` gibi yeni bir Python dosyası oluşturun ve favori metin düzenleyicinizde açın. Flask modülünü içe aktarın ve Flask sınıfının bir örneğini oluşturun:
Yönlendirme ve Görünüm Tanımlama:
Flask'ta yönlendirmeler, uygulamanızın yanıt vereceği URL'leri tanımlar ve görünümler de bu istekleri işleyen işlevlerdir. Kök URL'ye erişildiğinde “Hello, World!” ifadesini görüntüleyen basit bir yönlendirme oluşturalım:
Uygulamayı Çalıştırmak:
Flask uygulamanızı çalıştırmak için `FLASK_APP` ortam değişkenini Python dosyanızın adına (bu durumda `app.py`) ayarlamanız gerekir. Terminalinizde aşağıdaki komutu çalıştırın:
Aşağıdakine benzer bir çıktı görmelisiniz:
Web tarayıcınızı açın ve `http://127.0.0.1:5000/` adresine gidin; ''Hello, World!'' mesajını görmelisiniz.
Şablon Oluşturma:
Gerçek dünya web uygulamalarında, genellikle dinamik HTML sayfaları oluşturmanız gerekir. Flask, bu amaç için Jinja2 adında güçlü bir şablonlama motoru sağlar. Proje dizininizde `templates` adında yeni bir klasör oluşturun ve bu klasörün içinde `index.html` adında yeni bir HTML dosyası oluşturun. index.html` dosyasına aşağıdaki içeriği ekleyin:
Şablonları Oluşturma:
index.html` şablonunu oluşturmak için, `app.py` dosyanızdaki `hello` görünüm işlevini aşağıdaki gibi değiştirin:
Form İşleme:
Web uygulamaları genellikle formlar aracılığıyla kullanıcı girişi gerektirir. Flask, form gönderimlerini işlemek için uygun araçlar sağlar. Girdi olarak bir isim alan ve kişiselleştirilmiş bir karşılama mesajı görüntüleyen basit bir form oluşturalım. İlk olarak, `index.html` şablonunu bir form içerecek şekilde değiştirin:
Form Gönderimlerini İşleme:
Form gönderimini işlemek için `app.py` dosyanızda yeni bir rota oluşturun:
Veritabanı Desteği Ekleme:
Birçok web uygulaması kalıcı veri depolama gerektirir. Flask çeşitli veritabanı sistemleriyle iyi entegre olur. Popüler seçeneklerden biri, hafif ve sunucusuz bir veritabanı olan SQLite'tır. Flask ile SQLite kullanmak için `sqlite3` paketini yükleyin:
Veritabanı Modelleri Oluşturma:
Flask'ın yerleşik ORM'si SQLAlchemy'yi kullanarak veritabanı modellerinizi tanımlayın. models.py` adında yeni bir dosya oluşturun ve gerekli modülleri içe aktarın:
Uygulamanızdaki bir kullanıcıyı temsil eden bir `User` modeli oluşturun
Veritabanı Geçişi:
Modellerinize göre gerekli veritabanı tablolarını oluşturmak için, Flask'ı bir veritabanı taşıma çerçevesi olan Alembic ile entegre eden bir uzantı olan Flask-Migrate'i kullanın. Pip kullanarak Flask-Migrate'i yükleyin:
Aşağıdaki komutları çalıştırarak Flask-Migrate'i başlatın:
Uygulamanızı Dağıtma:
Web uygulamanız hazır olduğunda, onu bir üretim sunucusuna dağıtmak isteyeceksiniz. Heroku ve PythonAnywhere gibi popüler barındırma platformları Flask uygulamalarını dağıtmayı kolaylaştırır. Basitçe bir hesap oluşturun, verilen adımları izleyin ve uygulamanız kısa sürede çalışır hale gelecektir.
Doğru Framework'ü Seçmek:
Python ile web geliştirme söz konusu olduğunda, çerçeveler için çeşitli seçenekleriniz vardır. İki popüler seçenek Django ve Flask'tır. Django, karmaşık web uygulamaları oluşturmak için ihtiyacınız olan her şeyi sağlayan tam özellikli bir çerçevedir, Flask ise daha fazla esneklik sunan hafif bir çerçevedir. Bu makalenin amacı doğrultusunda, yeni başlayanlar için daha uygun olduğu için Flask'a odaklanacağız.
Geliştirme Ortamınızı Kurun:
Web uygulamanızı oluşturmaya başlamadan önce, geliştirme ortamınızı kurmanız gerekir. İlk olarak, Python'un makinenizde kurulu olduğundan emin olun. En son sürümü resmi Python web sitesinden indirebilirsiniz. Ayrıca, proje bağımlılıklarınızı izole etmek için sanal bir ortam kullanmanız önerilir. Terminalinizde aşağıdaki komutu kullanarak sanal bir ortam oluşturabilirsiniz:
python3 -m venv myen
Flask'ı Yükleme:
Flask'ı kullanmak için sanal ortamınıza yüklemeniz gerekir. Sanal ortamınızı etkinleştirin ve aşağıdaki komutu çalıştırın:
pip install flask
Bir Flask Uygulaması Oluşturma:
Flask yüklendiğine göre şimdi basit bir web uygulaması oluşturalım. app.py` gibi yeni bir Python dosyası oluşturun ve favori metin düzenleyicinizde açın. Flask modülünü içe aktarın ve Flask sınıfının bir örneğini oluşturun:
Python:
from flask import Flask
app = Flask(__name__)
Yönlendirme ve Görünüm Tanımlama:
Flask'ta yönlendirmeler, uygulamanızın yanıt vereceği URL'leri tanımlar ve görünümler de bu istekleri işleyen işlevlerdir. Kök URL'ye erişildiğinde “Hello, World!” ifadesini görüntüleyen basit bir yönlendirme oluşturalım:
Python:
@app.route(‘/’)
def hello():
return ‘Hello, World!’
Uygulamayı Çalıştırmak:
Flask uygulamanızı çalıştırmak için `FLASK_APP` ortam değişkenini Python dosyanızın adına (bu durumda `app.py`) ayarlamanız gerekir. Terminalinizde aşağıdaki komutu çalıştırın:
export FLASK_APP=app.py
flask run
Aşağıdakine benzer bir çıktı görmelisiniz:
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Web tarayıcınızı açın ve `http://127.0.0.1:5000/` adresine gidin; ''Hello, World!'' mesajını görmelisiniz.
Şablon Oluşturma:
Gerçek dünya web uygulamalarında, genellikle dinamik HTML sayfaları oluşturmanız gerekir. Flask, bu amaç için Jinja2 adında güçlü bir şablonlama motoru sağlar. Proje dizininizde `templates` adında yeni bir klasör oluşturun ve bu klasörün içinde `index.html` adında yeni bir HTML dosyası oluşturun. index.html` dosyasına aşağıdaki içeriği ekleyin:
HTML:
<!DOCTYPE html>
<html>
<head>
<title>My Flask App</title>
</head>
<body>
<h1>{{ message }}</h1>
</body>
</html>
Şablonları Oluşturma:
index.html` şablonunu oluşturmak için, `app.py` dosyanızdaki `hello` görünüm işlevini aşağıdaki gibi değiştirin:
Python:
from flask import render_template
@app.route('/')
def hello():
return render_template('index.html', message='Hello, World!')
Form İşleme:
Web uygulamaları genellikle formlar aracılığıyla kullanıcı girişi gerektirir. Flask, form gönderimlerini işlemek için uygun araçlar sağlar. Girdi olarak bir isim alan ve kişiselleştirilmiş bir karşılama mesajı görüntüleyen basit bir form oluşturalım. İlk olarak, `index.html` şablonunu bir form içerecek şekilde değiştirin:
HTML:
<!DOCTYPE html>
<html>
<head>
<title>My Flask App</title>
</head>
<body>
<h1>{{ message }}</h1>
<form action=”/greet” method=”POST”>
<input type=”text” name=”name” placeholder=”Enter your name” />
<button type=”submit”>Submit</button>
</form>
</body>
</html>
Form Gönderimlerini İşleme:
Form gönderimini işlemek için `app.py` dosyanızda yeni bir rota oluşturun:
Python:
from flask import request
@app.route(‘/greet’, methods=[‘POST’])
def greet():
name = request.form[‘name’]
return f’Hello, {name}!’
Veritabanı Desteği Ekleme:
Birçok web uygulaması kalıcı veri depolama gerektirir. Flask çeşitli veritabanı sistemleriyle iyi entegre olur. Popüler seçeneklerden biri, hafif ve sunucusuz bir veritabanı olan SQLite'tır. Flask ile SQLite kullanmak için `sqlite3` paketini yükleyin:
pip install sqlite
Veritabanı Modelleri Oluşturma:
Flask'ın yerleşik ORM'si SQLAlchemy'yi kullanarak veritabanı modellerinizi tanımlayın. models.py` adında yeni bir dosya oluşturun ve gerekli modülleri içe aktarın:
Python:
from flask_sqlalchemy import SQLAlchemy
from app import app
db = SQLAlchemy(app)
Uygulamanızdaki bir kullanıcıyı temsil eden bir `User` modeli oluşturun
Python:
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __repr__(self):
return f'<User {self.username}>'
Veritabanı Geçişi:
Modellerinize göre gerekli veritabanı tablolarını oluşturmak için, Flask'ı bir veritabanı taşıma çerçevesi olan Alembic ile entegre eden bir uzantı olan Flask-Migrate'i kullanın. Pip kullanarak Flask-Migrate'i yükleyin:
pip install flask-migrate
Aşağıdaki komutları çalıştırarak Flask-Migrate'i başlatın:
flask db init
flask db migrate -m “Initial migration”
flask db upgrade
Uygulamanızı Dağıtma:
Web uygulamanız hazır olduğunda, onu bir üretim sunucusuna dağıtmak isteyeceksiniz. Heroku ve PythonAnywhere gibi popüler barındırma platformları Flask uygulamalarını dağıtmayı kolaylaştırır. Basitçe bir hesap oluşturun, verilen adımları izleyin ve uygulamanız kısa sürede çalışır hale gelecektir.