django - 使用带有特殊字符的 Django 的 url 模板标签

标签 django django-templates

我正在使用 django 的 url 标签从一个 View 移动到另一个 View :

<a href = {% url wiki_view item %}>Read more here</a>

对于大多数“项目”,这非常有效。但是我有一个带有/字符的“项目”:科幻/幻想。在这种情况下,我收到一个错误

Caught NoReverseMatch while rendering: Reverse for 'wiki_view' with arguments '(u'Sci-fi/Fantasy',)' and keyword arguments '{}' not found.



我的 urls.py 定义如下:
url(r'^wiki/page/(?P<page_title>[^/]*)/$', views.wiki_view, name = 'wiki_view'),

有没有办法让它在这样的地方使用“/”字符?

最佳答案

使用 urlencode Ignacio 建议的过滤器,但是您仍然会遇到问题,因为默认情况下过滤器假定 /独自一人。您可以通过以下方式使用过滤器解决此问题(如果您当前使用的是开发版本):

item|urlencode:""

这在 Django docs 中有解释.

关于django - 使用带有特殊字符的 Django 的 url 模板标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4241484/

相关文章:

python - Django 验证错误消息仅显示在管理页面中

css - 正确使用CSS文件中的模板语言

django - 如何从模板标签中的模型对象获取 django 模型字段值

javascript - Django 模板变量和 Javascript

python - 删除 ManyToMany 字段中引用的对象

django - 在 initial_data 中加载 Django 站点 (contrib.sites)

python - 在Django中,为什么user.is_authenticated是一个方法而不是像is_staff这样的成员变量

django - 使用 Flask 动态安排 Celery Beat 任务

django - Django Formset 中的自定义标签

django-template 将 url 分配给变量