我有一个 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/