将一部分html保存到文本文件中,然后读取出来,作为参数传到html,结果前台直接显示标签。找了很久,解决了
本来是个小问题,但是在论坛看到几个相同问题的,解决了都不说下如何解决的,让我花了好多时间,实在郁闷,
所以这个小问题也记录下来,给人提供思路,也防止以后碰到时忘记了
1,先将文本读取出来,数据库中取出来的也一样,都是字符串
若是特殊字符,如'<',先转为html标签
第一种方法(我的文本中就这么几个特殊字符,还有更多的,可以自己添加):
file_obj = open(text_path, 'r')
xml_sign = {'<': '<',
'>': '>',
'&': '&',
''': "'",
'"': '"'}
file_text = file_obj.read() # str
for k, v in xml_sign.iteritems():
file_text = file_text.replace(k, v)
file_obj.close()
第二种
import HTMLParser
html_parser = HTMLParser.HTMLParser()
file_text = html_parser.unescape(file_text)
查看来源: https://my.oschina.net/yangting880815/blog/481096
{% autoescape off %}
{{content}}
{% endautoescape %}
其中content为传入html的字典中的一个键,django中传入方式如下:
c['content'] = file_text
return render_to_response('ebook_view.html', c, context_instance=RequestContext(request))