如何查看redis的JSON数据在我的模板视图蟒蛇的Django
问题描述:
问我怎样才能得到Redis的JSON数据在我的模板中显示?出于某种原因,我无法让它工作。任何帮助将不胜感激..如何查看redis的JSON数据在我的模板视图蟒蛇的Django
这里是我到目前为止我的JSON数据是越来越保存到正确的Redis,但我仍然无法弄清楚如何显示它在我的模板。所以对于obj.customer_name我希望它来自redis并遍历我的模板的json数据。
views.py
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,
}
)
home.html的模板
{% 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 %}
这是我model.py与Customer类
from django.db import models
import json
class Customer(models.Model):
objects = models.Manager()
customer_id = models.IntegerField()
customer_name = models.CharField(max_length=255)
created_at = models.DateField
updated_at = models.DateField
答
您的JSON与转换成字典通过做obj = json.load(cust_cache)
因此,在你的模板中,你应该有这样的事情:
{% for key, values in obj.items %}
<h3>{{ key }}</h3>
{{ value }}
{% endfor %}
作为脚注,我可以指出redis hashes是存储数据的更好方法。
谢谢! @ e4c5 – Snowman08
很高兴得到了帮助。 – e4c5