Raj*_*eev 23 django django-templates django-template-filters
在下面的django模板变量中.是否可以通过django模板过滤器删除html标签
{{myvar|safe}}
Run Code Online (Sandbox Code Playgroud)
以下将输出html之类的
<div>sddfdsfsdfsdf sd fsdf sd fsdf </div><a>This link</a><img src="some source" />
Run Code Online (Sandbox Code Playgroud)
Ben*_*end 37
你看过了striptags吗?它会把你的HTML变成这个(This当然,减去语法高亮):
sddfdsfsdfsdf sd fsdf sd fsdf This link
Run Code Online (Sandbox Code Playgroud)
但请注意,此模板过滤器使用正则表达式去除HTML标记.众所周知,正则表达式不是大多数时候使用HTML的正确工具.如果您的HTML来自外部,请确保使用真正的HTML解析器对其进行清理,例如lxml.html.clean.
jat*_*tin 17
striptags
尽一切努力去除所有[X] HTML标记.
例如:
{{ myvar|striptags }}
Run Code Online (Sandbox Code Playgroud)
如果myvar是<b>Joel</b> <button>is</button> a <span>slug</span>,输出将是Joel is a slug.
您也可以在python代码中使用strip_tags,即在表单中.
例如,在Form clean方法中:
class AddressForm(forms.ModelForm):
class Meta:
model = Address
def clean(self):
from django.utils.html import strip_tags
cleaned_data = super(AddressForm, self).clean()
cleaned_data['first_name'] = strip_tags(cleaned_data.get('first_name'))
return cleaned_data
Run Code Online (Sandbox Code Playgroud)
请参阅Django HTML Utils,另请参阅这个简单的Django HTML Sanitizer应用程序.
| 归档时间: |
|
| 查看次数: |
35224 次 |
| 最近记录: |