사용자가 제공 한 편집 페이지가 표시됩니다. 사용자는 텍스트 영역에 입력 버튼이있는 텍스트를 입력하고 미리보기 버튼을 누르십시오. 미리보기 페이지에서 그는 그가받은 것을보고 (즉, \ n을 즉시 <br>
로 바꾼다).'안전'필터가 텍스트 영역에서 작동하지 않습니다 - django
저는 safe
과 같이 입력합니다 ({{inputtext|safe}}
). 그러나 그가이 미리보기 입력 텍스트를 렌더링하는 편집 버튼을 누르는 경우, 입력 텍스트는 text</br></br>text
과 같이 표시되며 미리보기 페이지의 모습과 다릅니다. 미리보기에서
HTML : 입력 페이지에서
이{{inputtext|safe}}
<input type="hidden" name="inputtext" value="{{inputtext}}" />
HTML은 :
<textarea>{{inputtext|safe}}</textarea>
<textarea name="inputtext" style="display: none">{{inputtext}}</textarea>
내가 할 것은 : <br/>
모든 \n
's의 교체, 사용자의 입력을 받아와에 그 새로운 InputText]를 넣어 숨겨진 된 텍스트 영역 그래서 나중에 나중에 미리 볼 수 있습니다.
내 views.py에서 단순히 렌더링합니다. 아무 일도 일어나지 않습니다 :
def addcontent(request):
if request.POST.get('inputtext'):
inputtext = request.POST.get('inputtext')
return render(request, 'addpage.html', {'inputtext':inputtext})
else:
return render(request, 'addpage.html', {})
내가 안전하다고해도 텍스트가 줄 바꿈으로 표시되지 않는 이유는 무엇입니까? 나도 시도했다 |linebreaks
그러나 성공하지 않는다
textarea와 안전한 필터가있는 특별한 경우가 있냐?
UPDATE : 나는 텍스트 영역의 {{inputtext|safe}}
outsife을 할 경우 잘 작동
(LINEBREAK 에드을 게재). 단지 텍스트 영역 안에서만, |safe
아무런 효과가 없다.
양식과보기 코드를 표시 할 수 있습니까? 감사. – alecxe
@alecxe 코드를 업데이트했습니다. – doniyor