edc*_*505 0 html javascript python django svg
我有一个django应用程序,在其中一个模板中我有类似的东西:
<a href="/location/images/{{memb.EntryNr}}/">image</a>
Run Code Online (Sandbox Code Playgroud)
此代码被多次调用 - 每个代码memb都有一个.svg可以使用此URL访问的关联图像.当然,目前,"图像"这个词只有一个链接到一个单独的页面.svg.
我想要的是将其.svg加载到模板页面而不是链接输出.最简单/最好的方法是什么?
我对Python/Django比较陌生,但我理解基本概念以及HTML/CSS,但是我对JavaScript没有经验.
编辑:在.svg的不存储在文件系统中.有一个单独的视图(与我在这里工作的模板的主视图分开)有点像这样:
def svg_image(request, entry_nr):
svg_string = utils.DrawSVG.get_svg(entry_nr)
return HttpResponse(svg_string)
Run Code Online (Sandbox Code Playgroud)
然后我有了url,可以在上面的HTML模板代码中访问:
url(r'^images/(?P<entry_nr>[0-9]+)/$', views.svg_image, name='svg_image')
Run Code Online (Sandbox Code Playgroud)
{% load static %}
<p>
<img src="/location/images/{{memb.EntryNr}}" width="200"/>
</p>
Run Code Online (Sandbox Code Playgroud)
在渲染django模板时,您需要传递content_type
def myview(request):
svg_data = generate_some_svg_data()
return HttpResponse(svg_data, content_type="image/svg+xml")
Run Code Online (Sandbox Code Playgroud)