如何在 Django 中创建带参数的 link
How to create a link with parameter in django
您好,我正在尝试使用参数创建 link,但出现错误(找不到页面)
错误
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
您的 link 应该是:
<a href="{% url 'brandcolors:hexcode' color=color %}" style="text-decoration:none;color:inherit">{{color}}</a>
您的正则表达式需要单个字母数字字符,而不是后跟多个字符的散列。
您好,我正在尝试使用参数创建 link,但出现错误(找不到页面)
错误
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
您的 link 应该是:
<a href="{% url 'brandcolors:hexcode' color=color %}" style="text-decoration:none;color:inherit">{{color}}</a>
您的正则表达式需要单个字母数字字符,而不是后跟多个字符的散列。