В последние недели я делал django, и у меня возникла проблема.
У меня есть страница, где показываются статьи. Нет проблем при возврате всех статей из БД. Но теперь я хотел бы получить все категории (статья имеет категорию), которые у меня есть в моей базе данных.
Так что я могу отображать это на своей странице:
Список категорий - cat1 -cat2 -cat3
Список статей -art1 -art2 -art3
Но я не знаю, как поступить с обоими запросами.
Вот что я пробовал.
class IndexView(generic.ListView):
template_name = 'eduardoApp/index.html'
context_object_name = 'article_list'
def get_queryset(self):
return Article.objects.order_by('article_name')
def get_categories(request):
category_list=Category.objects.all()
context = {'category_list':category_list}
return render(request,'eduardoApp/index.html',context)
И на мой взгляд:
<h2>List of categories</h2>
{% if category_list %}
{% for category in category_list %}
<p>{{ category.name }}</p>
{% endfor %}
{% else %}
<p>no categorys</p>
{% endif %}
<h2>List of articles</h2>
{% if article_list %}
<div class="flex-container">
{% for article in article_list %}
<div><a href="{% url 'eduardoApp:detail' article.id %}">{{ article.article_name }}</a></div>
{% endfor %}
</div>
{% else %}
<p>No articles...</p>
{% endif %}
{% endblock %}
На мой взгляд, я не вижу отображаемых категорий (так как category_list не существует, но не знаю, почему и как исправить )