我正在研究django项目,我遇到了一个问题: 我想将函数的结果传递给动态模板。
def liste_ebauche(request):
if not request.is_ajax() and not request.method == 'GET':
raise Http404
try:
param_json = None
param = request.GET
for json_liste_eb in param:
param_json= json.loads(json_liste_eb)
of_select= param_json['numof']
reponse= {}
reponse_json= {}
reb={}
c=connection.cursor()
c.execute("BEGIN")
c.callproc("p_web_get_ebauche",[of_select])
ebauches=c.fetchall()
c.execute("COMMIT")
c.close()
html = render_to_string("paquet/ss_ebauche.html", locals())
except Exception as e:
logger.warning("error :" + e.message)
return HttpResponse(html)
在我正在做的模板中:
{% for ebauche in ebauches %}
<tr style="text-align:center">
<td class="id_ss_ebauche" style="display:none;">{{forloop.counter}}</td>
<td class="case">{{ebauche.ebauche}}</td>
<td class="case">{{ebauche.type}}</td>
<td class="case">{{ebauche.longueur}}</td>
<td class="case">{{ebauche.ligne}}</td>
</tr>
{% endfor %}
如果我传输查询集但没有结果函数,那就没问题。 如何调整结果函数以传输到我的模板? 请帮帮我。
答案 0 :(得分:0)
您还没有显示ebauches
变量的内容。您可以在视图中ebauches=c.fetchall()
之后打印或记录它来检查。
如果它是元组列表,那么您必须将结果转换为字典,或者更改模板以通过索引访问变量:
{% for ebauche in ebauches %}{{ ebauche.0 }}, {{ ebauche.1 }}{% endfor %}
答案 1 :(得分:0)
好的,我发现了我的问题。它是一个ajax请求,响应视图不能成为HTML链接。响应通过我的请求ajax的函数成功传递。