Loops এবং Conditionals ব্যবহার করে ডেটা প্রদর্শন

Flask Templating এবং Jinja2 - ফ্লাস্ক (Flask) - Web Development

249

Flask-এ Loops এবং Conditionals ব্যবহার করে ডেটা প্রদর্শন করা খুবই সহজ এবং কার্যকর। Flask Jinja2 টেমপ্লেট ইঞ্জিন ব্যবহার করে HTML ফাইলে Python-এর loops এবং conditionals ব্যবহার করতে পারে, যা ডাইনামিক কন্টেন্ট প্রদর্শন করতে সাহায্য করে। Jinja2 টেমপ্লেট ইঞ্জিনে Loops এবং Conditionals ব্যবহারের মাধ্যমে অ্যাপ্লিকেশনের ডেটা আরও ইন্টারঅ্যাকটিভ এবং ডায়নামিক হতে পারে।


১. Conditionals (শর্তাধীন স্টেটমেন্ট)

Conditionals এর মাধ্যমে আপনি HTML টেমপ্লেটে শর্তাধীন লজিক প্রয়োগ করতে পারেন, যেমন যদি কোনো শর্ত পূর্ণ হয়, তাহলে একটি নির্দিষ্ট HTML অংশ প্রদর্শন হবে।

উদাহরণ:

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def home():
    user = {"name": "John", "is_logged_in": True}
    return render_template("index.html", user=user)

if __name__ == "__main__":
    app.run(debug=True)

index.html টেমপ্লেট:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Conditionals Example</title>
</head>
<body>
    <h1>স্বাগতম!</h1>
    {% if user.is_logged_in %}
        <p>হ্যালো, {{ user.name }}! আপনি লগইন আছেন।</p>
    {% else %}
        <p>আপনি লগইন করেননি।</p>
    {% endif %}
</body>
</html>

এখানে:

  • {% if condition %} ... {% else %} ... {% endif %}: এটি শর্তাধীন ব্লক। যদি user.is_logged_in True হয়, তবে "আপনি লগইন আছেন" মেসেজ প্রদর্শিত হবে, আর অন্যথায় "আপনি লগইন করেননি" মেসেজ প্রদর্শিত হবে।
  • {{ user.name }}: এটি user dictionary থেকে name প্রপার্টি নিয়ে HTML তে প্রদর্শন করবে।

২. Loops (লুপ)

Flask-এ Loops ব্যবহার করে আপনি কোনো লিস্ট বা ডাটাবেস থেকে ডেটা লুপের মাধ্যমে HTML এ প্রদর্শন করতে পারেন।

উদাহরণ:

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def home():
    users = [
        {"name": "John", "age": 25},
        {"name": "Mary", "age": 30},
        {"name": "Alex", "age": 22}
    ]
    return render_template("index.html", users=users)

if __name__ == "__main__":
    app.run(debug=True)

index.html টেমপ্লেট:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Loops Example</title>
</head>
<body>
    <h1>ব্যবহারকারীদের তালিকা:</h1>
    <ul>
        {% for user in users %}
            <li>{{ user.name }} - {{ user.age }} বছর</li>
        {% endfor %}
    </ul>
</body>
</html>

এখানে:

  • {% for item in list %} ... {% endfor %}: এটি একটি লুপ ব্লক, যা users লিস্টের প্রতিটি আইটেমের জন্য HTML কোড জেনারেট করবে।
  • {{ user.name }} এবং {{ user.age }}: এটি প্রতিটি ব্যবহারকারীর নাম এবং বয়স HTML তে প্রদর্শন করবে।

এই কোডটি একটি ব্যবহারকারীর নাম এবং বয়সের তালিকা তৈরি করবে।


৩. Conditionals এবং Loops একসাথে ব্যবহার

Flask-এ আপনি একই সময়ে Conditionals এবং Loops একত্রে ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি লিস্টের মধ্যে শুধুমাত্র একটি নির্দিষ্ট শর্ত পূর্ণ করা ব্যবহারকারীকে দেখাতে পারেন।

উদাহরণ:

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def home():
    users = [
        {"name": "John", "age": 25},
        {"name": "Mary", "age": 30},
        {"name": "Alex", "age": 22}
    ]
    return render_template("index.html", users=users)

if __name__ == "__main__":
    app.run(debug=True)

index.html টেমপ্লেট:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Conditionals and Loops</title>
</head>
<body>
    <h1>ব্যবহারকারীদের তালিকা (30 এর উপরে)</h1>
    <ul>
        {% for user in users %}
            {% if user.age > 25 %}
                <li>{{ user.name }} - {{ user.age }} বছর</li>
            {% endif %}
        {% endfor %}
    </ul>
</body>
</html>

এখানে:

  • {% for user in users %}: এটি users লিস্টের মধ্যে প্রতিটি ব্যবহারকারীর জন্য লুপ চালায়।
  • {% if user.age > 25 %}: এটি শর্ত দিয়ে চেক করে যে ব্যবহারকারীর বয়স ২৫ এর উপরে হলে তার নাম এবং বয়স তালিকাভুক্ত হবে।

এটি কেবলমাত্র ২৫ বছরের উপরে বয়সের ব্যবহারকারীদের দেখাবে।


৪. Nested Loops এবং Conditionals

Flask টেমপ্লেটে Nested Loops এবং Conditionals ব্যবহার করে আরও জটিল ডেটা প্রদর্শন করা যায়। উদাহরণস্বরূপ, আপনি একটি তালিকার মধ্যে আরেকটি তালিকা লুপ করতে পারেন।

উদাহরণ:

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def home():
    users = [
        {"name": "John", "friends": ["Mike", "Tom", "Alex"]},
        {"name": "Mary", "friends": ["Sara", "Jack"]},
        {"name": "Alex", "friends": ["John", "Tom"]}
    ]
    return render_template("index.html", users=users)

if __name__ == "__main__":
    app.run(debug=True)

index.html টেমপ্লেট:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Nested Loops Example</title>
</head>
<body>
    <h1>ব্যবহারকারীদের বন্ধুদের তালিকা</h1>
    <ul>
        {% for user in users %}
            <li>{{ user.name }}:
                <ul>
                    {% for friend in user.friends %}
                        <li>{{ friend }}</li>
                    {% endfor %}
                </ul>
            </li>
        {% endfor %}
    </ul>
</body>
</html>

এখানে:

  • Nested Loops ব্যবহার করা হয়েছে যেখানে users লিস্টের প্রতিটি ব্যবহারকারীর জন্য আবার তাদের friends লিস্টের প্রতিটি আইটেম লুপ করা হচ্ছে।

Flask-এ Loops এবং Conditionals ব্যবহার করে ডেটা প্রদর্শন করা খুবই সহজ এবং শক্তিশালী। Jinja2 টেমপ্লেট ইঞ্জিনের মাধ্যমে আপনি ডাইনামিকভাবে HTML কোড তৈরি করতে পারেন এবং শর্ত বা লুপের মাধ্যমে ডেটা প্রসেস করতে পারেন। এটি Flask অ্যাপ্লিকেশনগুলিকে আরও ইন্টারঅ্যাকটিভ এবং ব্যবহারকারী-বান্ধব করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...