首页 > 解决方案 > 关于类别 get_absolute_url 的反向 url

问题描述

这是我的类别 get_absolute_url

def get_absolute_url(self):
    return reverse('products:categories_display', args=[self.id, self.slug])

这是我的产品视图

class category_slug_view(ObjectViewedMixin, DetailView):
    queryset = Category.objects.all()
    template_name = "products/product_page.html"

这是我的产品网址

    url(r'^(?P<id>\d+)/(?P<slug>[-\w]+)/$', category_slug_view.as_view()),

标签: djangodjango-urls

解决方案


要使用反向products:categories_display,您需要:

  1. 确保你app_name = 'products'的应用中有urls.py.
  2. 命名您的网址格式
app_name = 'products'

urlpatterns = [
    url(r'^(?P<id>\d+)/(?P<slug>[-\w]+)/$', category_slug_view.as_view(), name='categories_display'),
]

顺便说一句,Python/Django 中的建议是命名您的基于类的视图CategorySlugView,以明确它是一个类。


推荐阅读