& # 39;安全# 39;Filter在textarea - django中不起作用
'safe' filter is not working in textarea - django
我正在显示用户给出的编辑页面。用户在文本区输入一些文本,点击预览按钮。在预览页面中,他看到的只是他给出的(我正在用<br>
替换'n’s)。
我像{{inputtext|safe}}
一样对他的输入进行safe
。但是如果他点击编辑按钮,在我渲染这个预览输入文本的地方,输入文本显示为:text</br></br>text
,而不像它在预览页面中的样子。
html预览:
{{inputtext|safe}}
<input type="hidden" name="inputtext" value="{{inputtext}}" />
输入页:
<textarea>{{inputtext|safe}}</textarea>
<textarea name="inputtext" style="display: none">{{inputtext}}</textarea>
我所做的是:接受用户的输入,将所有'n
替换为<br/>
,并将新的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
,但没有成功
是否有一些特殊情况与文本区和安全过滤器?
:
如果我做{{inputtext|safe}}
textarea之外,它工作得很好(显示换行)。只有在textarea内,|safe
是没有作用的
我认为问题是你不能在文本区显示html
输出。linebreaks
只是用br
和p
标签替换换行符。
为什么在代码中将换行符替换为br
?如果你只是想预览文本,但没有显示换行符,那么使用css-styles white-space: pre-wrap
。这将显示输入的文本
相关文章:
- jquery在Django中不起作用
- Django 模板内联 jQuery 不起作用
- Int Array Django 通过上下文传递到 JS 不起作用
- 系统配置默认扩展对 Django 不起作用
- Django jQuery不起作用
- AngularJS ng-repeat在Django驱动的网页上不起作用
- 静态文件被接收,但在 Django 中不起作用
- Django-smart-selects在模板中不起作用
- 欧芹.js在我的 Django 表单验证中不起作用
- Django {{ block.super }} 在特定情况下不起作用
- 简单的 ajax GET 请求在我的 Django 网页上不起作用
- 使用Ajax的Javascript POST到Django不起作用
- Django和Javascript:依赖下拉列表不起作用
- jQuery在django中不起作用
- Django动态表单集不起作用
- 作为JS的字符串传递,django不起作用
- Django-将JSON数据和HTML一起传递到前端不起作用
- 简单的ajax调用在django中不起作用
- & # 39;安全# 39;Filter在textarea - django中不起作用
- 在实际的项目环境(Django)中,鼠标在后台移动的示例不起作用