Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在web.py中呈现HTML_Python_Html_Templates_Web.py - Fatal编程技术网

Python 在web.py中呈现HTML

Python 在web.py中呈现HTML,python,html,templates,web.py,Python,Html,Templates,Web.py,我正在处理一个类似维基百科的项目。我可以使用标记将文本文件转换为html代码。我的问题是,我想在一个html文件中呈现这个html代码。这是我的密码 class articles: def GET(self): form_name=web.input() article_name=form_name.page article_file_path=os.path.join('articles',article_name) fp

我正在处理一个类似维基百科的项目。我可以使用标记将文本文件转换为html代码。我的问题是,我想在一个html文件中呈现这个html代码。这是我的密码

class articles:
    def GET(self):
        form_name=web.input()
        article_name=form_name.page
        article_file_path=os.path.join('articles',article_name)
        fp = open(article_file_path,'rU')
        text = fp.read()
        body = markdown2.markdown(text)
        return render.article_files(article_name, body)
我正在将article_name和body(html代码)传递到article_files.html。尸体看起来像

<h1>Hai</h1>
<p>Welcome<em>Ajay</em></p>
Hai
欢迎光临

问题是,实体显示为原样。也就是说,html代码与所有标记一起打印在屏幕上。我想把这个html代码(主体)呈现为

Hai
欢迎阿杰

我的HTML文件是:

$def with(title,content)
<html>
<head>
<title>$title</title>
</head>
<body>
    <form name="form" method="GET">
        $content
    </form>
</body>
</html>
$def带(标题、内容)
$title
$content

默认情况下,web.py模板中的HTML转义处于启用状态。要关闭此选项,请在变量名称前加一个冒号:

<form name="form" method="GET">
    $:content
</form>

$:内容
请确保潜在的恶意用户无法将任意HTML输入到未扫描的模板中。

您需要指定发送到浏览器的日期,否则它不知道如何显示

可以通过将添加到函数中来完成此操作:

web.header('Content-Type', 'text/html')

我很确定Ajay说的是正文(即,
h1
p
)被逐字逐句地呈现出来,而不是整个页面。我不确定为什么会被否决。即使没有渲染实体,这仍然很有用。解决了我的问题,投了赞成票。