我正在学习Python的Web开发。当我打开HTML时,我得到了法拉利菲亚特福特,这是我所期待的,但后来我点击了法拉利,它打开了新的页面作为品牌,型号,这不是我想要的。我想要法拉利迪诺。
你能帮我理解是什么问题吗?
<!DOCTYPE HTML>
<html lang ="en">
<head>
<meta charset="UTF-8">
<title>Python Response</title>
</head>
<body>
<h1>
<a href="get.py?make=Ferrarri&model=Dino">Ferrari</a>
<a href = 'get.py?make = Fiat & model = Topolino'>Fiat</a>
<a href = 'get.py?make = Ford & model = Mustang'>Ford</a>
</h1>
</body>
</html>
的Python
import cgi
data = cgi.FieldStorage()
make = data.getvalue('make')
model = data.getvalue('model')
print ( 'Content-type:text/html\r\n\r\n' )
print ( '''<!DOCTYPE HTML><html lang = "en">
<head>
<meta charset="UTF-8">
<title>Python Response</title>
</head>
<body>
<h1>, make, model,</h1>
<a href = "get.html">Back</a>
</body>
</html>''' )
答案 0 :(得分:2)
变量不能是字符串。
import cgi
data = cgi.FieldStorage()
make = data.getvalue('make')
model = data.getvalue('model')
print ( 'Content-type:text/html\r\n\r\n' )
print ( '''<!DOCTYPE HTML><html lang = "en">
<head>
<meta charset="UTF-8">
<title>Python Response</title>
</head>
<body>
<h1>, ''' + make + ', ' + model + ''',</h1>
<a href = "get.html">Back</a>
</body>
</html>''' )
答案 1 :(得分:1)
在测试完之后,HTML正在按预期进行响应。
我的建议与此问题一致:How to pass python variable to html variable?
总之,您可以通过编写函数并返回html以更好的方式执行此操作。此外,一旦你编写了python函数,而不是:
<h1>, make, model,</h1>
您可以在python函数中使用替换,如下所示:
"<h1>, %s, %s,</h1>" % (make, model)
哪个将与这两个变量位于同一个python文件中。
答案 2 :(得分:0)
您的模板输出:
<h1>, make, model,</h1>
这就是输出的全部内容。您可以改为稍微更改一下,然后使用format方法将值插入其中。
html = '''<!DOCTYPE HTML><html lang = "en">
<head>
<meta charset="UTF-8">
<title>Python Response</title>
</head>
<body>
<h1>, {make}, {model},</h1>
<a href = "get.html">Back</a>
</body>
</html>'''
print html.format(make=make, model=model)
花括号,{make}和{model}中的值在字符串中被命名为tokens。在名为html的字符串上使用format()时,可以替换这些标记。在这种情况下,我直接通过名称引用它们。