我开发了一个django应用程序来在浏览器上显示svg图像。
我有vss图像,我保存为svg并放置在具有适当设置的媒体文件夹中
问题:当我尝试通过我的django应用程序查看svg图像时,图像不显示。 要验证我的项目设置是否正确,请查看页面源及其svg内容。
当我使用svg文件的完整路径直接访问svg文件时,它显示正确。
此外,当我创建小svg文件在媒体的同一位置绘制圆圈并尝试查看它时,它通过我的django应用程序出现在浏览器中。
对我看来,我从vss创建的svg文件有一些与html相矛盾的标签,因此不会在browser.d中显示svg图像。
答案 0 :(得分:0)
您应该使用models.FileField
代替models.ImageField
,并在模板中将其用作图片代码。
这里的问题是Django使用PIL库来验证上传的文件是否真的是图像
more about this issue
如果您在浏览器中渲染SVG图像时遇到问题,则应使用第三方库,例如: Raphael.js