Açık Kaynak SistemlerBilişim ProfesyonelleriMakaleWeb UygulamalarıYazılım Geliştirme

Flask MVC (Unit-5) HTML Render

Bir önceki yazımızda Alembic Configuration ayarlarının yapılması‘nı anlatmıştık. Bu yazımızda Klasör yapımızda template isminde bir klasör var, buna değineceğiz. Template klasörü render_template aracı tarafından tanınmaktadır. View edeceğimiz .html dosyaları burada bulunmalıdır.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Authors</title>
</head>
<body>
Author List<br>
    <table border="1">
        <thead>
            <tr>
                <th>Adı</th>
                <th>Soyadı</th>
                <th>Düzenle</th>
                <th>Sil</th>
            </tr>
        </thead>
        <tbody>
        {% for item in b %}
            <tr>
                <td>{{ item.Name }}</td>
                <td>{{ item.SurName }}</td>
                <td> <a href="{{ url_for('author.edit', author_id = item.Id) }}" 
                             hint="Edit">X</a></td>
                <td> <a href="{{ url_for('author.delete', author_id = item.Id) }}" 
                             hint="Delete">X</a></td>
            </tr>
        {% endfor %}
        </tbody>
    </table>
</body>
</html>

Yukarda templates/manage/authors.html dosyasını görüyorsunuz satırları inceleyecek olursak {%…%}ve {{…}} kodları dikkatiniz çekecektir. Bu kod parçaları flask içinde bulunan ve jinja2’den inherit edilen render_template aracının tanıdığı kod parçalarıdır. {% for item in b %} ile .py dosyasından gelen b nesnesini iterate edebiliyoruz. {{ item.Name }} ilede iterarte ettiğimiz nesne içindeki her bir field’a erişerek içeriğindeki value’yu html olarak render etmiş oluyoruz. Diğer reserved keywordları incelemek isterseniz buradan faydalanabilirsiniz.

One thought on “Flask MVC (Unit-5) HTML Render

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.