python - 通过django url传递2个变量

标签 python django django-views django-urls

我尝试通过 url 配置传递 2 个变量

url.py

url(r'^essays/(?P<category>[-\w]+)/(?P<slug>[-\w]+)/$', views.EssayDetailView.as_view(), name='essay_view'),

查看.py

class EssayDetailView(DetailView):
    model = Essay

    def get_context_data(self, **kwargs):
        context = super(EssayDetailView, self).get_context_data(**kwargs)
        context['category'] = Category.objects.get(slug=self.kwargs['category'])

        return context

但是如果我在模板url标签中使用这样的

<a href = "{{essay.get_absolute_url}}">{{essay.title}}</a>

我遇到错误NoReverseMatch。使用 1 个参数就可以正常工作。例如网址:

url(r'^(?P<slug>[-\w]+)/$', views.ArticleDetailView.as_view(), name='article_view'),

如何将 2 个变量传递给通用 View ?或者我应该编写自己的 View 方法?

最佳答案

输入错误

def get_absolute_url(self):
        return reverse('articles:essay_view', args=[self.category.slug, self.slug])

现在可以工作了

关于python - 通过django url传递2个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30501523/

相关文章:

django - 如何编辑默认 django 主页和新页面

python - 使用 Hadoop 计算唯一身份访问者的最佳方法是什么?

python - 识别模式匹配的位置

django - 使用外键在 Django 中计数

python - Django 全局名称 'PageNotAnInteger' 未定义

django - 如何让syncdb db_table 和app_label 很好地协同工作

php - 网站到计算机的通信

python - 如何在父对象中获取子属性

Python(和 Django)最佳导入实践

django - 如何在 django 模型中以 DecimalField 的形式拥有 IntegerField ?