Debug School

rakesh kumar
rakesh kumar

Posted on

How to display all data in template file dropdown from table in django

Certainly! Here's a step-by-step example of how to retrieve data from a table and populate a dropdown in a Django template:

Step 1: Define your model
Assuming you have a model named Item that represents the table you want to retrieve data from, define it in your Django app's models.py file:

from django.db import models

class Item(models.Model):
    name = models.CharField(max_length=100)
Enter fullscreen mode Exit fullscreen mode

Step 2: Create a view
In your Django app's views.py file, create a view function that retrieves all the data from the Item table and passes it to the template context:

from django.shortcuts import render
from .models import Item

def dropdown_view(request):
    items = Item.objects.all()
    context = {'items': items}
    return render(request, 'dropdown_template.html', context)
Enter fullscreen mode Exit fullscreen mode

Step 3: Create the template
Create a template file named dropdown_template.html (or any desired name) in your Django app's templates directory. In this template, you can use the retrieved data to populate the dropdown:

<html>
<head>
    <title>Dropdown Example</title>
</head>
<body>
    <h1>Dropdown Example</h1>
    <form>
        <label for="item">Select an item:</label>
        <select id="item" name="item">
            {% for item in items %}
            <option value="{{ item.id }}">{{ item.name }}</option>
            {% endfor %}
        </select>
    </form>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

Step 4: Configure URLs
In your Django app's urls.py file, configure a URL pattern that maps to the dropdown_view:

from django.urls import path
from .views import dropdown_view

urlpatterns = [
    path('dropdown/', dropdown_view, name='dropdown'),
]
Enter fullscreen mode Exit fullscreen mode

Step 5: Test the Application
Finally, run the Django development server and visit the /dropdown/ URL in your browser. You should see a dropdown populated with the items from the Item table.

That's it! Following these steps will allow you to retrieve data from a table and populate a dropdown in a Django template.

Top comments (0)