问我怎样才能让redis json数据显示在我的模板中?出于某种原因,我无法让它发挥作用。任何帮助将不胜感激..
以下是我到目前为止我的json数据正确保存到redis但我仍然无法弄清楚如何在我的模板中显示它。因此,对于obj.customer_name,我希望它来自redis并遍历我的模板的json数据。
apt-get install libsqlite3-dev
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,
}
)
{% 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 %}
答案 0 :(得分:2)
您正在通过执行obj = json.load(cust_cache)
将json转换为字典。因此,在您的模板中,您应该具有以下内容:
{% for key, values in obj.items %}
<h3>{{ key }}</h3>
{{ value }}
{% endfor %}
作为脚注,我可以指出redis hashes是存储数据的更好方式。