NoReverseMatch at /course/ Reverse for 'course_detail' not found. 'course_detail' не является допустимой функцией представления или именем шаблона
Я пытаюсь вернуть все курсы из базы данных в url моего курса и получаю эту ошибку
NoReverseMatch at /course/
Отзыв для 'course_detail' не найден. 'course_detail' не является допустимой функцией представления или именем шаблона.
вот мой код
`class Courses(models.Model): category = models.ForeignKey(Category, related_name='courses', on_delete=models.CASCADE, null=True) name = models.CharField(max_length=100) описание = models.TextField() обложка = models.ImageField(blank=True, null=True, upload_to="courses_cover/") slug = models.SlugField()
# Courses content
content_url = models.URLField(blank=True, null=True)
content_file = models.FileField(blank=True, null=True)
price = models.PositiveIntegerField(default=1)
available = models.BooleanField(default=True)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
class Meta:
ordering = ('name',)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('courses:course_detail', args=[self.id, self.slug])
def price_display(self):
return "{0:.2f}".format (self.price / 100)
код для views.py
def course_list(request, category_slug=None):
category = None
categories = Category.objects.all()
courses = Courses.objects.filter(available=True)
if category_slug:
category = get_object_or_404(Category, slug=category_slug)
courses = courses.filter(category=category)
return render(request,'courses/content/list.html', {'category': category, 'categories': categories, 'courses': courses})
def course_detail(request, id, slug): course = get_object_or_404(Courses, id=id, slug=slug, available=True) return render(request, 'courses/content/detail.html', {'course': course})
`
код для URL-адресов курсов
app_name = "courses"
urlpatterns = [
path('', views.course_list, name='course_list'),
]
Объявили ли вы свою namespace
в своей главной urls.py
? Или вы объявили course
там, где должно было быть courses
множественное число?
path('courses/', include('courses.urls', namespace='courses')),