这是我的程式码...
主程式:
from flask import Flask,url_for,send_from_directory,render_template
app=Flask(__name__)
from filter import nl2br
app.jinja_env.filters['nl2br']=nl2br
@app.route("/")
def hello1():
import subprocess
cmd=subprocess.Popen(['ifconfig'],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
out=cmd.communicate()
templateData={
'result' : out
}
return render_template('test.html',**templateData)
if __name__=="__main__":
app.run(host='192.168.10.128',port=1300,debug=True)
==============================================================================
filter.py:
#!/usr/bin/env python
import re
from jinja2 import evalcontextfilter, Markup, escape
_paragraph_re = re.compile(r'(?:\r\n|\r|\n){2,}')
@evalcontextfilter
def nl2br(eval_ctx, value):
result = u'\n\n'.join(u'<p>%s</p>' % p.replace('\n', '<br>\n')
for p in _paragraph_re.split(escape(value)))
if eval_ctx.autoescape:
result = Markup(result)
return result
==============================================================================
test.html:
<h1>{{ result | nl2br }}</h1>
显示还是一样....谢谢。