首页 > django能否从数据库中读取某个数值,作为参数传入<img>并根据参数值选择图片?

django能否从数据库中读取某个数值,作为参数传入<img>并根据参数值选择图片?

django项目中我需要从后台读取数据库某表某行的某列数据(这列是代表某个选项),根据不同的值传入<img>中,从static中选择不同的图片呈现。这个数据库读取动作是从前一个页面点进链接的行为触发的,点击不同的链接,选取的这个表的行是不同的?这个动作是否需要一段javascript定义,有什么办法么?


你可以专门写一个view来处理那个页面。

假设slug是你需要从数据库读出的值,你先获取包含改值的对象obj,传给前端的连接中,你在需要点击的那个链接中传入一些参数,比如链接为:

<a href={% url 'display_view' obj.slug %}><\a>

首先在url中获取相关的参数,
url:

url(r'^display/(?P<slug>\w+)', DisplayView.as_view(), name='display_view')

view:

class DisplayView(TemplateView):
    template_name = 'display.html'
    
    def get_context_data(self, **kwargs):
        context = super(DisplayView, self).get_context_data(**kwargs)
        context['var'] = self.kwargs.get('slug', None)
        return context

在模版层进行相关的判断。
Template:

{% ifequal var foo %}
  <img src={% static '/images/bg1.png' %}
{% endifequal%}

{% ifequal var bar %}
  <img src={% static '/images/bg2.png' %}
{% endifequal%}
【热门文章】
【热门文章】