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'))