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%}