Python ile Web Uygulaması Oluşturma

  • Konbuyu başlatan Hüseyin
  • Başlangıç tarihi
Hüseyin

Hüseyin

Üye
Top Poster Of Month
Katılım
21 Ocak 2024
Mesajlar
78
Tepkime puanı
27
Puanları
18
Ç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:

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.
 
Geri
Üst