我写了这个cgi脚本
#!/usr/bin/env python
import cgi
print "Content-type: text/html\n\n"
print"<html>"
print"<title>Wedmed Search engine</title>"
print"""<link type="text/css" rel="stylesheet" href="stylesheet1.css"/>
<body>
<div class="img" position="center">
<h1>
WebMED</h1>
</div>
<form action="/cgi-bin/hello.py" method="POST">
<input type="text" size="50" name="data" value=""><br>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>
</body></html>"""
问题是css无法使用我的cgi脚本。它与html代码完美搭配。 有人可以帮忙吗?
答案 0 :(得分:0)
我猜这是相对/绝对寻址的问题。 尝试将绝对地址设置为css文件。
如果服务器上的文件结构是
/css
/stylesheet1.css
然后href将是&#34; /css/stylesheet1.css"
或者stylesheet1.css是否直接在htdocs中 然后href将是&#34; /stylesheet1.css"
答案 1 :(得分:0)
如果python脚本和css文件在同一目录中,请尝试:
<link type="text/css" rel="stylesheet" href="/stylesheet.css" />
在提及css文件的位置之前添加'/'非常重要。
答案 2 :(得分:0)
在类似情况下,我通过以下方式更改了代码:
这
S=[[
<stats>+200 Stock Price<br>+100% Stock Price Increase <br><stock>+100% Stock Size</stock><br>+10% Company Revenue
]]
S=S.."<"
for v,k in S:gmatch(">([-+].-)%s+(.-)%s*<") do
print(k,v)
end
到
...
print "Content-type: text/html\n\n"
print"<html>"
...
在我的情况下,我使用了另一种形式的印刷品
...
print "Content-type: text/html\n\n"
print ""
print"<html>"
...
答案 3 :(得分:0)
我找到了一种不是最好的方法,但却为我做了诀窍。
将您的整个样式表放在stylesheet1.css
中,然后将其写在python文件中
f = open('stylesheet1.css', 'r')
style = ''
for i in f:
style += i
head = '''
<head>
<style>
%s
<style>
</head>''' % (style)
print "Content-type: text/html\n\n"
print"<html>"
print head
print """<body>
<div class="img" position="center">
<h1>
WebMED</h1>
</div>
<form action="/cgi-bin/hello.py" method="POST">
<input type="text" size="50" name="data" value=""><br>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>
</body></html>"""
答案 4 :(得分:0)
这是一条道路和私人问题。 将* .css放在html目录(/ var / www / html)中,而不是./cgi-bin。 在这种情况下,网址应如下所示: href =“/ stylesheet.css”
答案 5 :(得分:0)
首先,在代码中,如果要在python cgi中使用css,则可以添加head。
第二,您可能需要确保配置正确,这意味着您使用的服务器。
下面是一个简单的hello.py的示例,即
#!/usr/bin/python
html ="""Content-type:text/html\r\n\r\n
<html>
<head>
<link type="text/css" rel="stylesheet" href="styles.css" />
</head>
<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
</body>
</html>"""
print html
在示例中,使用apache,结构为
# ls /var/www/cgi-bin
-rwxr-xr-x 1 root root 263 Nov 4 05:55 hello.py
-rwxr-xr-x 1 root root 83 Nov 4 06:38 styles.css
因此,需要在httpd.conf
中启用css
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
<Directory "/var/www/cgi-bin">
AddHandler default-handler .css
AllowOverride None
Options None
Require all granted
</Directory>
最后,您应该可以看到
那是因为css,即
body {
background-color: powderblue;
}
h1 {
color: blue;
}
p {
color: red;
}