Page for Articles

Kategori: Python / Flask , 19 Eylül 2019 , JanFranco


Oluşturduğumuz yazıları, herkesin görebileceği, herkesin üye olup, yazılarını paylaşabileceği bir sayfa oluşturalım. İlk olarak ana dosyamızda articles() fonksiyonunu yazalım:


@app.route("/articles")
def articles():
    cursor = mysql.connection.cursor()
    query = "SELECT * FROM articles"
    result = cursor.execute(query)

    if result > 0:
        articles = cursor.fetchall()
        return render_template("articles.html", articles = articles)
    else:
        return render_template("articles.html")
Burada articles tablosunun verilerini çekiyoruz. Eğer sonuç 0'dan büyükse veri var demektir. Eğer veri var ise articles.html dosyasına bu verileri gönderiyoruz. Yoksa göndermiyoruz. Şimdi templates klasöründe articles.html dosyasını oluşturalım:


{% extends "layout.html" %}

{% block body %}
    <h3>Coding Blog</h3>
    <hr>
    {% if articles %}
        <form class="form-inline" action="/search" method="POST">
            <input class="form-control mr-sm-2" type="text" name="keyword" placeholder="Ara" aria-label="Search">
        </form>
        <hr>

        {% for article in articles %}
            <ul class="list-group">
                <li class="list-group-item"><a href="articles/{{ article.id }}">{{ article.title }}</a></li>
            </ul>
        {% endfor %}
        
    {% else %}
        <div class="alert alert-danger">No articles!</div>
    {% endif %}
{% endblock body %}
Burada articles değişkenini kontrol ettik. Eğer veriler fonksiyondan gelirse bu değer True olacak ve for döngüsü ile tüm yazıları görüntüleyeceğiz. Eğer değer False ise, True değilse 'No articles' şeklinde bir uyarı yayınlanacaktır. Tekrar uğraşmamak adına arama çubuğunu şimdiden oluşturduk fakat fonksiyonunu sonraki yazılarımda göreceğiz.


Sonraki Yazı: Dynamic URL for Articles
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın