从Urlpatterns(django)中删除网址中的空格

时间:2017-04-04 18:46:28

标签: python django url whitespace

我是Django的新手,我正在开发一个有个人资料页面的项目。

嗯,问题是主键有空格但我不希望它们显示在网址中,也不像“%20%”,我想加入这些单词。例如:

website.com/Example Studios - > website.com/examplestudios

我试过这个:

url ( (r'^(?P<studio_name>[\w ]+)/$').replace(" ", ""), views.StudioView, name = 'dev_profile')

但是没有用(看起来它在读取url之前将原始部分转换为字符串)并且're'发生了同样的事情。我一直在寻找解决方案,但我找不到它们(而且slugify并不能说服我)。

这是什么解决方案或者你推荐什么?

1 个答案:

答案 0 :(得分:0)

在网址中你定义了Django会捕获的模板,例如r'^ test / $'这意味着当有人试图获得yourdomain.com/test时,Django会捕获它并调用可能会呈现模板的视图。你需要解决你的网址生成问题,例如在模板中。因此,在网址中:
url ( (r'^(?P<studio_name>[\w ]+)/$'), views.StudioView, name = 'dev_profile')
您需要将主键转换为单词而不在模板中使用空格。一种方法是为每条记录使用slug。  另外将slug字段添加到Studio模型,该模型是自动生成的和不可编辑的字段(您可以从名称生成它,例如Example Studios-&gt; examplestudios)。