Alıştırma - Uygulama oluşturma

Tamamlandı

Uygulamamızı yinelemeli bir yaklaşım kullanarak oluşturacak ve her seferinde belirli kavramlara odaklanacağız. Öncelikle kullanıcının dolduracağı formun görüntüleneceği uygulama giriş sayfasını oluşturacağız.

Flask uygulamalarının giriş noktası genellikle app.py adlı bir dosya olur. Bu kurala uygun hareket ederek uygulamamızın temelini oluşturacağız. Aşağıdaki adımları gerçekleştireceğiz:

  1. Çekirdek uygulamamızı oluşturma
  2. Uygulama yolunu ekleme
  3. Site için HTML şablonunu oluşturma
  4. Uygulamayı test etme

Çekirdek uygulamayı oluşturma

  1. Daha önce kullandığınız Visual Studio Code örneğine dönüp Gezgin sekmesinden Yeni dosya'ya tıklayın ve app.py adlı yeni bir dosya oluşturun

    Screenshot showing the Visual Studio Code New File dialog.

    Önemli

    Daha önce Visual Studio Code ile Python uygulaması oluşturmadıysanız Python uzantısını ve pylint adlı lint aracını yüklemeye yönelik iletilerle karşılaşırsınız. Yükle'yi seçerek bu eklentilerin hepsini yükleyin.

  2. Flask uygulamanızı oluşturmak için gerekli kodu ekleme

    from flask import Flask, redirect, url_for, request, render_template, session
    
    app = Flask(__name__)
    

import deyiminde Flask başvuruları bulunur ve bu, tüm Flask uygulamalarının çekirdeğini oluşturur. Birazdan HTML kodumuzu döndürmek için render_template öğesini kullanacağız.

app bizim çekirdek uygulamamız olacak. Bunu bir sonraki adımda yollarımızı kaydederken kullanacağız.

Yolu ekleme

Uygulamamız tek bir yol (/) kullanacak. Kullanıcının etki alanı veya sunucu adı dışında bir şey sağlamadığı durumlarda kullanılan yol olduğu için bu yol bazen varsayılan veya dizin yolu olarak da adlandırılır.

app.py dosyasının sonun aşağıdaki kodu ekleyin

@app.route('/', methods=['GET'])
def index():
    return render_template('index.html')

@app.route kullanarak oluşturmak istediğimiz yolu belirtmiş oluyoruz. Yol, aynı zamanda varsayılan yol olan / olacak. Bunun GET için kullanılacağını belirtiyoruz. / için GET isteği geldiğinde Flask otomatik olarak dekoratörün hemen altında bildirilmiş olan işlevi (bu örnekte index) çağırır. index gövdesinde kullanıcıya index.html adlı HTML şablonunu döndüreceğimizi belirtiyoruz.

Form için HTML şablonunu oluşturma

Flask'in şablon oluşturma altyapısı olan Jinja, HTML odaklı bir özelliktir. Bu nedenle sahip olduğunuz tüm HTML becerilerini ve araçlarını kullanabilirsiniz. Sayfamızın biraz daha güzel görünmesi için sayfa düzenini Bootstrap ile oluşturacağız. Bootstrap sayesinde HTML kodumuzda farklı CSS sınıfları kullanacağız. Bootstrap hakkında bilginiz yoksa sınıfları yoksayabilir ve HTML koduna (önemli olan kısım) odaklanabilirsiniz.

Önemli

HTML (Köprü Metni biçimlendirme dili), web sayfaları oluşturmak için kullanılan standart bir işaretleme dilidir. HTML, bir web sayfasını oluşturan başlıklar, paragraflar, listeler, resimler, bağlantılar ve diğer öğeler oluşturmak için bir dizi etiket ve öznitelik içerir. Kullanıcı bir web sayfası istediğinde, tarayıcısı HTML kodunu okur ve kullanıcının etkileşim kurabileceği görsel bir web sayfası olarak işler. HTML hakkında daha fazla bilgi edinmek için bkz . HTML temel bilgileri.

Flask şablonlarının templates adlı bir klasör içinde oluşturulması gerekir. Şimdi klasörü ve gerekli dosyayı oluşturup HTML kodunu ekleyelim.

  1. Visual Studio Code'un Gezgin aracında Yeni Klasör'ü seçerek templates adlı yeni bir klasör oluşturun

  2. Oluşturduğunuz templates klasörünü seçtikten sonra Yeni Dosya komutuyla klasöre bir dosya ekleyin

  3. Dosyayı index.html olarak adlandırın

  4. Aşağıdaki HTML kodunu ekleyin

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
        <title>Translator</title>
    </head>
    <body>
        <div class="container">
            <h1>Translation service</h1>
            <div>Enter the text you wish to translate, choose the language, and click Translate!</div>
            <div>
                <form method="POST">
                    <div class="form-group">
                        <textarea name="text" cols="20" rows="10" class="form-control"></textarea>
                    </div>
                    <div class="form-group">
                        <label for="language">Language:</label>
                        <select name="language" class="form-control">
                            <option value="en">English</option>
                            <option value="it">Italian</option>
                            <option value="ja">Japanese</option>
                            <option value="ru">Russian</option>
                            <option value="de">German</option>
                        </select>
                    </div>
                    <div>
                        <button type="submit" class="btn btn-success">Translate!</button>
                    </div>
                </form>
            </div>
        </div>
    </body>
    </html>
    

Yukarıdaki HTML kodunun temel bileşenleri kullanıcının çevrilmesini istediği metin için textarea ve kullanıcının hedef dili belirtmek için kullanacağı açılan listedir (select). Daha fazla dil eklemek isterseniz diğer seçenekler için desteklenen dillerin listesine bakabilirsiniz. value özniteliğini dil kodu (örneğin Türkçe için tr) olarak ayarlayın.

Uygulamayı test etme

İlk sitemizi oluşturduğumuza göre artık test edebiliriz! İşimizi kolaylaştırmak için Visual Studio Code'un içindeki tümleşik terminali kullanacağız.

  1. Mac'te Ctrl-' veya Cmd-' seçeneğini belirleyerek tümleşik terminali açın

  2. Aşağıdaki komutu kullanarak Flask çalışma zamanını geliştirme olarak ayarlayın ve sunucunun her değişiklikte otomatik olarak yeniden yüklenmesini sağlayın

    # Windows
    set FLASK_ENV=development
    
    # Linux/macOS
    export FLASK_ENV=development
    
  3. Uygulamayı çalıştırın!

    flask run
    
  4. Tarayıcıda http://localhost:5000 adresine giderek uygulamayı açın

Formu görmeniz gerekir! Tebrikler!

Bilgilerinizi kontrol edin

1.

Flask'in HTTP isteklerine yanıt vermek için kullandığı varsayılan bağlantı noktası numarası kaçtır?

2.

Jinja şablon dosyaları varsayılan olarak hangi alt dizinde depolanır?