我有一个包含图像文件的文件夹。不幸的是,有些文件的名称中包含一个空格。如果我在开发服务器上运行应用程序(通过python manage.py runserver
),Django可以加载这些图像,但如果我在生产环境中运行它,则无法加载。原因是Django将" "
转换为"%20"
。
例如,如果我的文件夹包含以下文件:
- image1.png
- image2 test.png
- image3%20test.png (只是为了了解发生了什么)
.那么这段代码将得到以下结果:
# In settings.py
MEDIA_URL = '/media/'
MEDIA_ROOT = ('D:/Data/Images')
# In the HTML template
<img src="/media/image1.png"/> # image loads on the development and production server
<img src="/media/image2 test.png"/> # image loads only on the development server
<img src="/media/image3 test.png"/> # image loads only on the production server
字符串
我当然可以通过将空格替换为下划线来重命名所有包含空格字符的图像文件名。但这有点尴尬,因为化学分析系统不断向文件夹中输入新的图像文件,系统软件偶尔会在文件名中引入空格。我无法控制这一点。
那么有没有一种方法可以强制Django加载图像,即使它们包含空格字符?
1条答案
按热度按时间owfi6suc1#
这不是好的做法,但是,你可以使用自定义**
FileSystemStorage
**custom_storage.py
字符串
models.py
型