在我的Django网址中反斜杠

时间:2017-02-03 07:03:41

标签: python django url

我的django网址只有在我的网址后面使用斜线才有效。在以下两个中,只有第二个工作。第一个不起作用:

1)。 http://10.165.19.167:8000/downloady9cHTML/Intro.html/

2)。 http://10.165.19.167:8000/downloady9cHTML/Intro.html

如果我想要第二个网址,我该怎么办?即我不想在我的网址末尾添加反斜杠?

谢谢..

2 个答案:

答案 0 :(得分:2)

如果您不想要斜杠,请不要在URL模式中添加斜杠。

url(r'^downloady9cHTML/(?P<file_name>.*)$', ...)

答案 1 :(得分:1)

你需要Django的 APPEND_SLASH

  

如果设置为True,如果请求URL与URLconf中的任何模式都不匹配且它不以斜杠结尾,则会向相同的URL发出HTTP重定向并附加斜杠。请注意,重定向可能会导致POST请求中提交的任何数据丢失。

替代

编辑

url(r'^downloady9cHTML/(?P<file_name>.*)/$', app.views.download_y9cfile1)

url(r'^downloady9cHTML/(?P<file_name>.*)', app.views.download_y9cfile1)

最后删除了/$。正则表达式$的原因是正则表达式结束。这意味着您明确告诉它与\匹配。如果您只删除\,则它仅适用于第二个网址(在您的问题中)。如果您删除\$,它将适用于两个网址。