0

我在 django html 模板中有一个链接。我想将一个 slugified 字符串传递给视图进行处理。我收到一个错误,它没有使字符串变缓。这是我的代码。我是否遗漏了什么或者我需要添加一些东西让 slugify 在字符串上工作......

<p><a href="{% url 'group_home' group.group.name|slugify %}">{{ group.group.name }}</a></p>

网址:

url(r'^(?P<groupname>[\w+]+)/$', views.group_home, name='group_home'),

字符串示例:

first group

这是错误:

NoReverseMatch at /groups/
Reverse for 'group_home' with arguments '('first-group',)' not found. 1 pattern(s) tried: ['groups/(?P<groupname>[\\w+]+)/$']

我的另一个问题是,一旦我在视图中,我如何解开一个字符串。

4

1 回答 1

1

您的正则表达式中缺少连字符。它将匹配您的 slugified 字符串的连字符:

url(r'^(?P<groupname>[\w+-]+)/$', views.group_home, name='group_home'),

为什么要“解压”?也许您正在寻找类似基于类的内置通用视图之类的东西。它们允许您根据 url 中指定的 pk/slug 检索对象。

于 2017-11-21T02:28:56.597 回答