在参数中使用{%url%}reverse和unicode字符(Django)

2024-04-20 04:49:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Django站点,在这里可以单击一篇文章的标签(我使用tagouse)来查看使用该标签的所有帖子的列表。它工作正常,除非字符串是unicode。具体来说,我的模板的这一行给了我一个错误:

<a href="{% url 'fortykwords:tag' tag.name %}">{{ tag.name }}</a>

它给了我错误

^{pr2}$

这是网址.py公司名称:

path('tag/<slug:input_tag>', views.tag_view, name='tag'),

这是从视图.py公司名称:

def tag_view(request, input_tag):
    latest_post_list = Post.objects.filter(tags=input_tag, 
    status__exact="published")
    context = {'latest_post_list': latest_post_list, 'page_tag': input_tag}
    return render(request, 'fortykwords/tag.html', context)

为了使用unicode参数反向链接,我应该做些什么更改?在


Tags: namepy名称viewinputrequesttag错误
1条回答
网友
1楼 · 发布于 2024-04-20 04:49:36

尝试使用模式\w+,而不是[-a-zA-Z0-9_]+。在

{{cd3}你需要改变你的自定义url。在

示例

from django.urls import path, re_path

urlpatterns = [
    # your regular paths
    path('...'),

    # update to `re_path` for those which can accept unicode letters
    url(r'tag/(?P<input_tag>\w+)$', views.tag_view, name='tag'),
]

相关问题 更多 >