[英]variables with space in url (django)
我遇到了与:Django中如何通过URL传递带空格的变量相同的问题。 我已经尝试了提到的解决方案,但一切都以“您正在寻找的资源已被删除,名称已更改或暂时不可用”的形式返回。
我正在尝试传递文件名示例:new 3
在urls.py中:
url(r'^file_up/delete_file/(?P<oname>[0-9A-Za-z\ ]+)/$', 'app.views.delete_file' , name='delete_file'),
在views.py中:
def delete_file(request,fname):
return render_to_response(
'app/submission_error.html',
{'fname':fname,
},
context_instance=RequestContext(request)
)
网址:demo.net/file_up/delete_file/new%25203/
谢谢您的帮助
考虑一下; 您是否不得不使用空格? 如果没有,我认为您可能会发现更容易使用模式(和变量)。 破折号或下划线,甚至是正斜杠看起来更清晰,更容易预测。
我也发现了这一点: https : //stackoverflow.com/a/497972/352452引用:
空格字符是不安全的,因为在对URL进行转录或排版或对文字处理程序进行处理时,可能会消失大量空格并且可能会引入无关紧要的空格。
您还可以使用文字%20
捕获空间。 不确定。 只是在这里留下了一些想法。
demo.net/file_up/delete_file/new%25203/
该URL是双重编码的。 首先将空格编码为%20
,然后将%
字符编码为%25
。 Django仅将URL解码一次,因此解码的URL是/file_up/delete_file/new%203/
。 您的模式与文字%20
不匹配。
如果要demo.net/file_up/delete_file/new%203/
空格而不是其他定界符,则应找到该URL的来源,并确保仅对其编码一次: demo.net/file_up/delete_file/new%203/
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.