如何在Django中实现这样的URL?
我想在Django中创建像 example.com/category/catename-operation/
这样的链接,应该怎么做呢?
还有,有时候用户输入的分类是用空格分开的,比如用户输入“my home”,那么这个分类的链接就会变成 example.com/my home/
,这不是一个有效的链接。
我该怎么处理这些情况呢?
6 个回答
1
你可以在你的视图中使用slugify这个模板标签来处理空格等问题,方法如下:
from django.template.defaultfilters import slugify
slugify("This is a slug!") # Will return u'this-is-a-slug'
3
http://example.com/my%20home/
是一个有效的网址,其中的空格被处理成了特殊的格式。Django会自动帮你处理这些特殊字符的转换,不用你自己操心。
6
如果你想让你的网址看起来更好看,比如当用户输入“我的分类”时,你可以在网址中显示“my-category”,而不是“my%20category”。我建议你了解一下SlugField(http://docs.djangoproject.com/en/dev/ref/models/fields/#slugfield),并使用ModelAdmin的prepopulated_fields属性来自动填充这个slug字段。