django中render 原文輸出
阿新 • • 發佈:2018-11-04
我最開始的是:
.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}}
終於和我設想的一樣了