如何动态指定静态文件的名称?

时间:2018-02-07 17:29:06

标签: django django-templates django-views

我有一个report.html模板,我需要动态更改图片名称。我做了很多研究和反复试验。但我无法让图片的网址正确无误。

图像位于/ templates / users / reports / rptemplate / images。

在研究静态图像后,我还将图像复制到:

/静态/图像。

这是我最新的HTML:

<?xml version="1.0" encoding="UTF-8"?>

{% load staticfiles %} 

<html>
...

              <img alt="" src="static/images/{{img_vision}}">
...

这是我的报告视图:

class UserReportView(LoginRequiredMixin, TemplateView):
    model = User
    template_name = 'users/reports/rptemplate/report.html'
    def get_context_data(self, **kwargs):
        #context = super(DisplayTaskView, self).get_context_data(kwargs)
            #TODO: retrieve the actual data
        context = {'sid': 519893,
        'church_name': 'Lakeview Bible',
        'report_date': '5 Feb 2018',
        'responses': 57,
        'img_vision': 'image1.png',
        'img_leadership': 'image1.png',
        'img_mobilization': 'image1.png',
        'img_stewardship': 'image1.png',
        'img_context': 'image1.png',
        'img_evangelism': 'image1.png',
        'img_discipleship': 'image1.png',
        'img_service': 'image1.png',
        'img_fellowship': 'image1.png',
        'img_worship': 'image1.png',
        'img_category': 'image1.png',
        'img_radar': 'image1.png'
        }  
        return context

这是我的用户/ url.py:

from django.conf.urls import url
from django.views.generic import TemplateView
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

from . import views

urlpatterns = [
    url(
        regex=r'^$',
        view=views.UserListView.as_view(),
        name='list'
    ),
    url(
        regex=r'^~redirect/$',
        view=views.UserRedirectView.as_view(),
        name='redirect'
    ),
    url(
        regex=r'^(?P<username>[\w.@+-]+)/$',
        view=views.UserDetailView.as_view(),
        name='detail'
    ),
    url(
        regex=r'^~update/$',
        view=views.UserUpdateView.as_view(),
        name='update'
    ),
    url(
        regex=r'^reports/rptemplate/$',
        view=views.UserReportView.as_view(),
        name='report'
    ),
]

urlpatterns += staticfiles_urlpatterns()

那我的错误在哪里?如何动态指定静态文件的名称?

1 个答案:

答案 0 :(得分:1)

试试<img alt="" src="/static/images/{{img_vision}}"> *注意静态之前的额外斜杠。