如何在我的模板视图python django中查看redis json数据

时间:2016-05-12 12:33:47

标签: python json django redis

问我怎样才能让redis json数据显示在我的模板中?出于某种原因,我无法让它发挥作用。任何帮助将不胜感激..

以下是我到目前为止我的json数据正确保存到redis但我仍然无法弄清楚如何在我的模板中显示它。因此,对于obj.customer_name,我希望它来自redis并遍历我的模板的json数据。

views.py

apt-get install libsqlite3-dev

home.html模板

def home(request):
    """Renders the home page."""
    assert isinstance(request, HttpRequest)
    #obj = Customer.objects.all()
    cust = Customer.objects.all()
    da = serializers.serialize('json', cust, fields=('customer_id', 'customer_name'))
    r_conn = redis.StrictRedis(host='172.16.1.98', port=6379, db=1)
    r_conn.set('dimcert_cust', da)
    cust_cache = r_conn.get('dimcert_cust')
    obj = json.load(cust_cache)


    return render(
        request,
         'app/index.html',
         {
            'title':'Home Page',
            'year':datetime.now().year,
            'obj': obj,
         }
    )

这是我的带有客户类

的model.py
{% extends "app/layout.html" %}

{% block content %}

<div class="jumbotron">
    <h1>Customers</h1>
</div>

<div class="row">


    <div style="width: 40%; float:left">
        {% for obj in obj.all %}
          <h3> {{obj.customer_name}} </h3>
        {% endfor %}

    </div>      
</div>

{% endblock %}

1 个答案:

答案 0 :(得分:2)

您正在通过执行obj = json.load(cust_cache)将json转换为字典。因此,在您的模板中,您应该具有以下内容:

{% for key, values in obj.items %}

   <h3>{{ key }}</h3>
   {{ value }}
{% endfor %}

作为脚注,我可以指出redis hashes是存储数据的更好方式。