Giriş: Python ile Web Geliştirmenin Avantajları
Python, son yıllarda web geliştirme dünyasında önemli bir yer edinmiştir. Kolay öğrenilebilirliği, okunabilirliği ve geniş kütüphane desteği sayesinde yazılımcılar arasında popüler bir seçimdir. Python ile web sayfası oluşturmak, hem yeni başlayanlar hem de deneyimli geliştiriciler için oldukça cazip bir seçenektir. Bu rehberde, Python kullanarak bir web sayfası oluşturmanın temellerini öğreneceğiz.
Python ile web geliştirme, genellikle Flask veya Django gibi popüler web çerçeveleri kullanılarak yapılır. Bu çerçeveler, geliştiricilere hızlı ve etkili bir şekilde uygulamalar geliştirme imkanı sunar. Aynı zamanda, veri tabanı desteği, kullanıcı kimlik doğrulama ve yönlendirme işlemleri gibi temel özellikler de hazır bir şekilde sunulmaktadır. Bu yazıda, Flask framework’ü üzerinden basit bir web sayfası oluşturmayı adım adım ele alacağız.
Web geliştirmeye giriş için, Python programlama dilinin kurulu olduğundan emin olmalısınız. Eğer Python’u henüz yüklemediyseniz, resmi web sitesinden (python.org) en son sürümünü indirip yüklemeniz gerekiyor. Ardından, kullanacağımız Flask kütüphanesini yükleyerek projeye başlayacağız.
Adım 1: Çevreyi Hazırlamak
Projemizi başlatmak için ilk önce bir Python sanal ortamı oluşturmalıyız. Bu, projeler arasında bağımlılık çakışmalarını önlemenin en etkili yollarından biridir. Aşağıdaki komutları takip ederek sanal ortam oluşturabilirsiniz:
python -m venv myenv
source myenv/bin/activate # Linux/Mac için
myenv\Scripts\activate # Windows için
Sanat ortamınız aktive olduktan sonra, Flask kütüphanesini aşağıdaki komut ile yükleyin:
pip install Flask
Bu aşamada Flask yüklendikten sonra projemizi oluşturmaya başlayabiliriz. Proje dizininde bir app.py
dosyası oluşturun. Bu dosyada Flask uygulamanızı tanımlayacağız.
Adım 2: İlk Flask Uygulamanızı Geliştirme
Artık app.py
dosyanızda basit bir Flask uygulaması oluşturma zamanı. Aşağıdaki kodu dosyanıza ekleyerek başlayabilirsiniz:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "Merhaba, Flask ile web sayfanıza hoş geldiniz!"
if __name__ == '__main__':
app.run(debug=True)
Burada, Flask uygulamamızı başlatmak ve bir ana sayfa oluşturmak için gerekli olan kodu yazdık. @app.route('/')
kısmı, uygulamanın kök URL’si için bir rota tanımlar. Kullanıcı bu URL’ye gittiğinde, home
fonksiyonu çalışacak ve basit bir metin döndürecektir.
Uygulamanızı çalıştırmak için terminalde şu komutu verin:
python app.py
Tarayıcınızdan http://127.0.0.1:5000/
adresine giderek uygulamanızı görebilirsiniz. Şimdi, yönlendirmeler ve HTML şablonları ile daha fazla geliştirme yapma zamanı!
Adım 3: HTML Şablonları Kullanma
Flask, Jinja2 şablon motorunu kullanarak dinamik web sayfaları oluşturmanıza olanak tanır. Şimdi, HTML şablonunu eklemek için yeni bir dizin oluşturacağız. Proje dizininde templates
adında bir klasör oluşturun. Ardından, bu klasörde index.html
isimli bir dosya oluşturun ve aşağıdaki kodu ekleyin:
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Python Web Sayfası</title>
</head>
<body>
<h1>Python ile Oluşturulmuş Web Sayfası!</h1>
<p>Bu sayfa Flask framework'u kullanılarak oluşturulmuştur.</p>
</body>
</html>
Şimdi, app.py
dosyasını güncelleyerek bu HTML dosyasını göstereceğiz:
from flask import Flask, render_template
@app.route('/')
def home():
return render_template('index.html')
Artık uygulamanızı çalıştırdığınızda, ana sayfanız index.html
dosyanızdan oluşturulacak. Yeniden tarayıcıda http://127.0.0.1:5000/
adresine gidin ve sayfanızın güncellendiğini görün.
Adım 4: Formlar ve Kullanıcı Girdileri
Web uygulamalarında kullanıcıdan veri almak oldukça önemlidir. Flask, bu tür işlemler için de gerekli araçları sağlamaktadır. Şimdi basit bir form ekleyerek kullanıcıdan isim alalım.
Öncelikle index.html
dosyanıza bir form ekleyin:
<form action="/greet" method="post">
<input type="text" name="name" placeholder="Adınızı girin" required>
<input type="submit" value="Gönder">
</form>
Şimdi, app.py
dosyanızı güncelleyerek formu işleyelim:
from flask import Flask, render_template, request
@app.route('/greet', methods=['POST'])
def greet():
name = request.form['name']
return f"Merhaba, {name}! Hoş geldin!"
Artık form gönderildiğinde, kullanıcıdan alınan isme göre bir selam mesajı döndürecektir. Tarayıcınızı kullanarak formu doldurun ve sonucu gözlemleyin.
Adım 5: Veri Tabanı Entegrasyonu
Web uygulamanızda kalıcı veri saklamak için bir veri tabanına ihtiyacınız olabilir. Flask ile SQLAlchemy kullanarak bu işlemi kolayca gerçekleştirebilirsiniz. SQLAlchemy, Python için güçlü bir ORM (Nesne-İlişki Haritalama) kütüphanesidir. İlk olarak bu kütüphaneyi yüklemeniz gerekecek:
pip install Flask-SQLAlchemy
Projenizi güncelleyerek bir veri tabanı entegre edelim:
from flask_sqlalchemy import SQLAlchemy
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///data.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False)
Bu kod parçası ile basit bir kullanıcı modeli oluşturmuş olduk. Uygulamayı ilk kez çalıştırdığınızda veri tabanını oluşturduğunuzdan emin olun:
db.create_all()
Artık kullanıcı ekleme veya verilere erişim sağlama gibi işlemler yapabilirsiniz. Örnek bir ekleme işlemi için aşağıdaki gibi güncellenme yapabilirsiniz:
new_user = User(name='Ege Korkmaz')
db.session.add(new_user)
db.session.commit()
Sonuç: Projenizi Yayınlama
Web sayfanızı geliştirmeyi tamamladıktan sonra, uygulamanızı yayına almak isteyebilirsiniz. Üzerinde çalıştığınız projeyi yayına almanın en iyi yollarından biri, bir PaaS (Platform as a Service) hizmeti kullanmaktır. Heroku en popüler seçeneklerden biridir ve Flask uygulamalarını kolayca barındırmanıza olanak tanır.
Heroku’da bir hesap oluşturarak, uygulamanızı yükleyebilir ve yayına alabilirsiniz. Aşağıda temel adımları bulabilirsiniz:
heroku create
git add .
git commit -m "İlk Yayın"
git push heroku master
Heroku, kodunuzu otomatik olarak dökümante edecek ve uygulamanızı erişilebilir kılacaktır. Artık kullanıcılar uygulamanızı tarayıcılarından görüntüleyebilirler.
Sonuç olarak, Python ile basit bir web sayfası oluşturma sürecine dair temel bilgileri öğrenmiş olduk. Flask kullanarak dinamik verilerle çalışan uygulamalar geliştirmenizi sağlayacak adımları ele aldık. Şimdi, öğrendiklerinizi uygulamak ve daha karmaşık projelere yönelmek için cesaret edebilirsiniz!