В django я пытаюсь получить коллекцию слов, но моя функция возвращает "ничего".

У меня есть страница, посвященная изучению иностранных языков, на которой также есть игра на запоминание, которая работает путем отображения случайного слова. Я хотел бы использовать ту же базу данных, что и в игре, для отображения словаря "слово: перевод" со всеми словами в алфавитном порядке. спасибо

вот мой файл views.py

from django.shortcuts import render
from cards.models import Card

def lexicon(request):
    card_list = Card.objects.all()
    context = {'card_list': card_list}
    return render(request, 'lexicon/lexicon.html', context)

и это мой html

        <main>
            <div class="container-small">
                {% for card in card_list %}
                    <p>{{ card.question }}</p>
                    <p>{{ card.answer }}</p>
                {% endfor %} 
            </div>    
        </main>

Мой файл db.sqlite3 имеет такую структуру структура базы данных

Попробуйте модифицировать представление, чтобы получить все слова из базы данных и передать их в шаблон в алфавитном порядке. Вы можете попробовать сделать это, упорядочив набор запросов по алфавиту с помощью поля word.

def lexicon(request):
   
    card_list = Card.objects.all().order_by('question')
    context = {'card_list': card_list}
    return render(request, 'lexicon/lexicon.html', context)

N.B.: Убедитесь, что в вашей модели Card есть соответствующие поля для слова и его перевода.

Вернуться на верх