python - 如何处理 Django URL 中的 & 符号?

标签 python django url django-urls

我有一个 Django 站点,它使用项目名称来创建便于查看的 URL。例如:

/item/DeluxeWidget/

我有一个名称中包含“&”的项目:

/item/Red & Blue Widget/

& 号会把事情搞砸。如果我使用 {{ widget.name|fix_ampersands }},& 符号将被转义为 & 但它仍然没有在 URL 模式中被拾取:

url(r"^widget/(?P<name>[0-9a-zA-Z&,. -]+)/$", 'site.views.widget' ),

在 View 中我使用捕获的名字来做

Widget.objects.get(name=name)

转义、模式或过滤器的正确组合是什么来处理 URL 中的 & 符号?我还希望遇到带有撇号的名字。我也应该做些什么来处理这些问题吗?

最佳答案

考虑使用 SlugField它可以自动填充另一个适合在 URL 中使用的字段的清理版本。

关于python - 如何处理 Django URL 中的 & 符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13212960/

相关文章:

Python Twitter 流 API - 仅关注用户

python - 重命名列表数据框中元素的最有效方法

python - 从 Django 中的 url 参数初始化表单输入字段

java - 当不包含可选查询时 Swagger 抛出 400 错误

python - 在sqlalchemy中过滤或过滤多个

python - 如何使用 PyTorch 沿特定维度进行热编码?

html - CSS 有时不重新加载 Django

Python/django 根记录器级别

php - 在 Woocommerce 3.3 中获取购物车项目删除 URL

url - URL 中的语言字符串