인프런 커뮤니티 질문&답변
get_absolute_url 오류 해결 방법
작성
·
231
0
.html
{% for c in categories %}
<li>
<a href="{{c.get_absolute_url}}" class="{% if current_category.slug == c.slug %}active{% endif %}">{{c.name}}</a>
</li>
{% endfor %}
을 이렇게 넣고... 서버 돌렸을 때 해당 페이지에서 계속 아래와 같이 뜹니다.
NoReverseMatch at /정보/학습후기/
Reverse for 'page_category' not found. 'page_category' is not a valid view function or pattern name.
이라고 뜹니다..ㅠ
오류가 발생한 부분은 보니 여기인데...
<a href="{{c.get_absolute_url}}" class="{% if current_category.slug == c.slug %}active{% endif %}">{{c.name}}</a>
models.py
class Category(models.Model):
city = models.CharField(max_length=20, db_index=True)
name = models.CharField(max_length=20, db_index=True)
phoneNumberRegex = RegexValidator(regex=r'^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$')
phone = models.CharField(validators=[phoneNumberRegex], max_length=13, unique=True)
class_date = models.IntegerField(blank=True)
slug = models.SlugField(max_length=20, db_index=True, unique=True, allow_unicode=True)
class Meta:
ordering = ['name']
verbose_name = 'category'
verbose_name_plural = 'categories'
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('page44:page_category', args=[self.slug])
views.py
from django.shortcuts import render, get_object_or_404
from .models import *
def page4_in_category(request, category_slug=None):
current_category = None
categories = Category.objects.all()
page4 = Page4.objects.all()
if category_slug:
current_category = get_object_or_404(Category, slug=category_slug)
page4 = page4.filter(category=current_category)
return render(request,
'page4/page4.html',
{
'current_category': current_category,
'categories': categories,
'page4': page4,
})
urls.py
from django.urls import path
from .views import *
app_name = 'page44'
urlpatterns = [
path('학습후기/', page4_in_category, name='학습후기'),
path('<slug:category_slug>', page4_in_category, name='page_category'),
path('고객센터/', page5Views, name='고객센터'),
]





안녕하세요!! 같은 오류가 발생하는데 혹시 어떻게 해결하셨는지 공유할 수 있으실까요?ㅜㅜ