django中render 原文输出
我最开始的是:
.html
<form action="DownLoad/" method="POST" style="position:absolute; top:10px; left:10px">
{% csrf_token %}
文件列表<br />
<label><input name="submit" type="submit" onclick="return ischecked()" value="下载" /> </label> <br />
<input type="checkbox" id="chElt" onclick="checkOrCancelAll();"/><span id="mySpan">全选</span> <br />
<label><input name="file" type="checkbox" value="FileName" />FileName</label> <br />
{{file_list}}
</form>
.py
for dir, dirs, files in os.walk(DIR_HOMEWORKD): #获取文件列表
all_files = files
break
str_all_file = str()
for str_file in all_files:
str_all_file += r'''<label><input name="file" type="checkbox" value="%s" />%s</label> <br />''' %(str_file,str_file)
context['file_list'] = str_all_file
return render(request, 'app/temp.html', context)
设想的是将 file_list 动态替换,因为有多少个并不固定
但是出现了如下情况
源代码
全部都给我转义了
为解决此问题,即让它的源码和替换的字符串一样
需要加上safe选项,如下:
<form action="DownLoad/" method="POST" style="position:absolute; top:10px; left:10px">
{% csrf_token %}
文件列表<br />
<label><input name="submit" type="submit" onclick="return ischecked()" value="下载" /> </label> <br />
<input type="checkbox" id="chElt" onclick="checkOrCancelAll();"/><span id="mySpan">全选</span> <br />
<label><input name="file" type="checkbox" value="FileName" />FileName</label> <br />
{{file_list|safe}}
</form>
!! {{file_list|safe}}
终于和我设想的一样了