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}}

终于和我设想的一样了

猜你喜欢

转载自blog.csdn.net/abcd147147/article/details/83591089