1. 程式人生 > >django中render 原文輸出

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

終於和我設想的一樣了