Django ошибка 404 django

Всем доброго времени суток. Я новичок в цифровом мире. Учусь на Python по ютубу и книге Мэтиза.

Делаю сайт, но возникла проблема с urls. При попытке открыть страницу topics отображается ошибка 404. Меняла urls, но все тщетно. Далее код из приложения news, в этой папке у меня находится наполнение страниц информацией.

animals/urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('main.urls')),
    path('news/', include('news.urls')),

] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

urlpatterns += static(settings.MEDIA_UR, document_root=settings.MEDIA_ROOT)

news/urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('', views.news_home, name='news_home'),
    path('create', views.create, name='create'),
    path('topics', views.topics, name='topics'),
]

news/vews.py

from django.shortcuts import render, redirect
from .models import Topic, Articles

def topics(request):
    topics = Topic.objects.all()
    context = {'topics': topics}
    return render(request, 'news/topics.html', context)

news/topics.html

{% extends 'main/base.html' %}

{% block title %}Topics{% endblock %}

{% block content %}
    {% for topic in topics %}
        <li>{{ topic }}</li>
    {% empty %}
        <li>Нет ничего</li>
    {% endfor %}

{% endblock %}

А так же не понимаю, почему в html не отображается цикл for topic in topics. Так как в оболочке все работает.

>>> from news.models import Topic
>>> Topic.objects.order_by('date')
<QuerySet [<Topic: Кошки>, <Topic: Собаки>]>
>>> topics=Topic.objects.all()
>>> for topic in topics:
...     print(topic)
...
Кошки
Собаки
>>>

введите сюда описание изображения

обычно слэш сам подставляется в конце строки запроса. Попробуйте видоизменить код в news/urls.py :

from django.urls import path
from . import views

urlpatterns = [
    path('', views.news_home, name='news_home'),
    path('create/', views.create, name='create'),
    path('topics/', views.topics, name='topics'),
]

Касательно вашей проблемы с django циклом, проверьте находятся ли создаваемые циклом элементы списка в родительском элементе списка (Упорядоченном или Неупорядоченном). Выглядеть это должно примерно так :

<ul>
  {% for topic in topics %}
  <li>{{ topic }}</li>
  {% empty %}
  <li>Нет ничего</li>
  {% endfor %}
</ul>

Или

<ol>
  {% for topic in topics %}
  <li>{{ topic }}</li>
  {% empty %}
  <li>Нет ничего</li>
  {% endfor %}
</ol>
Вернуться на верх