Django - Обратный запрос для 'topic' с аргументами '('',)' не найден. Проверен 1 шаблон(ы): ['(?P<topic>[^/]+)/\\Z']

Я изучаю Django и возникла проблема. Буду благодарен, если поможете

Повтор для 'topic' с аргументами '('',)' не найден. Попробован 1 шаблон(ы): ['(?P[^/]+)/\Z']

просмотров:

def topic(request, topic):
    topic = New_topic.objects.get(id=topic)
    comments = topic.comment_set.order_by('+date')
    context = {'topic':topic, 'comments':comments}
    return render(request, 'topic.html', context)

Урлы:

from django.urls import path
from . import views
app_name = "forum"

urlpatterns = [
path('', views.main, name='main'),
path('<topic>/', views.topic, name='topic')
]

модели:

from django.db import models
from django.contrib.auth.models import User

class New_topic(models.Model):
    text = models.CharField(max_length=64)
    date = models.DateTimeField(auto_now_add=True)
    def __str__(self):
        return self.text

class Comments(models.Model):
    topic = models.ForeignKey(New_topic, on_delete=models.CASCADE)
    text = models.TextField()
    date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.text

template:

{% block content %}
{% for list_forum in list %}
<a href="{% url 'forum:topic' topic.id  %}">{{ list_forum }}</a>
{% endfor %}
{% endblock content %}

Попробовать path('<topic>/<int:pk>/', views.topic, name='topic')

Я просто переназначил url приложения с "index" на "forum"

path('', include('forum.urls')) изменить path('forum/', include('forum.urls'))

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