我正在使用django并意识到当用户想要访问的文件名(比方说照片)有英镑符号时,url.py中的条目不匹配。
有什么想法吗?
url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root':
MEDIA_ROOT},
它只是说:
"/home/user/project/static/upload/images/hello" does not exist
实际上文件名是:
hello#world.jpg
谢谢, 尼科
答案 0 :(得分:9)
这实际上不是Django的错 - URL中的井号(#)表示在页面上加载指定的锚点。您需要在URL中对井号进行编码,以使浏览器请求完整的图像路径:
/home/user/project/static/upload/images/hello%23world.jpg
在Django模板中,您可以使用urlencode模板标记。