如何在django中创建带参数的链接

时间:2017-11-14 16:24:11

标签: django django-templates django-urls

您好我正在尝试使用paremeter创建链接但我收到错误(找不到页面)

错误

Reverse for 'hexcode' with arguments '('#d4cbd0',)' not found. 1 pattern(s) tried: ['hexcode/(?P<color>\\w)$']

模板

{% for color in palette_dominant_color %}
<a href="{% url 'brandcolors:hexcode' color %}" style="text-decoration:none;color:inherit">
  {{color}}
</a>
<br>
{% endfor %}

urls.py

url(r'^hexcode/(?P<color>\w)/$', ThemeView.as_view(), name="hexcode"),

views.py

class ThemeView(TemplateView):
    template_name='fabric/theme.html'

    def get_context_data(self, **kwargs):
        context = super(ThemeView, self).get_context_data(**kwargs)
        colors = Color.objects.filter(color=kwargs['color']).all()
        return context

2 个答案:

答案 0 :(得分:2)

你的正则表达式需要一个字母数字字符,而不是哈希后跟几个字符。

答案 1 :(得分:1)

您的链接应该是:

<a href="{% url 'brandcolors:hexcode' color=color %}" style="text-decoration:none;color:inherit">{{color}}</a>