python - html对css没有影响
问题描述
我有一个使用 Python Socket 制作的简单 Web 服务器。该服务器的模板文件夹中只有两个文件,“home.html”和“home.css”。但是当我访问 home.html 时,我的 home.css 文件没有任何效果。我检查了 Microsoft Edge 的 DevTools,它显示了一个黑色的 home.css 文件。
我的文件夹:
Website
- server.py
- templates
- home.html
- home.css
home.html 代码:
<!DOCTYPE html>
<html>
<head>
<title>TITLE</title>
<link rel="stylesheet" type="text/css" href="home.css">
</head>
<body>
<div class="header">
<h1>title name</h1>
</div>
<div class="body_container">
<p>This is body..</p>
</div>
</body>
</html
home.css 代码:
body{
background-color: gray;
}
服务器.py:
import time
import socket
import threading
class WebServer():
def __init__(self):
self.host = "192.168.0.101"
self.port = 80
self.content_dir = 'templates'
def _generate_headers(self, response_code):
header = ''
if response_code == 200:
header += 'HTTP/1.1 200 OK\n'
elif response_code == 404:
header += 'HTTP/1.1 404 Not Found\n'
time_now = time.strftime("%a, %d %b %Y %H:%M:%S", time.localtime())
header += 'Date: {now}\n'.format(now=time_now)
header += 'Server: Orasae\n'
header += 'Connection: close\n\n' # Signal that connection will be closed after completing the request
return header
def handle_client(self, conn, addr):
"""
Handles Client Connection and Serves Files From self.content_dir.
parameters:
- conn: Client Socket Object from self.server.accept();
- addr: Client Address from self.server.accept();
"""
PACKET_SIZE = 1024
CONNECTION = True
while CONNECTION:
data = conn.recv(PACKET_SIZE).decode() # Receive Data From Client and Decode it.
if not data:
CONNECTION = False
response = self._generate_headers(200).encode()
directory = data.split(" ")[1] # gets directory for requested file
if directory == '/' or directory == '/home':
f = open(f"{self.content_dir}/home.html", 'rb')
htmlCode = f.read()
f.close()
response += htmlCode
conn.send(response)
conn.close()
CONNECTION = False
def _listen(self):
"""
Listens For Any Connection on self.port and Calls self.handle_client For
Handling Client Request/Respond.
"""
self.server.listen(1)
while True:
conn, addr = self.server.accept()
threading.Thread(target=self.handle_client, args=(conn, addr)).start()
def start(self):
"""
Attempts to create and bind to a socket to launch it.
"""
self.server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
print(f"Starting Server on {self.host}:{self.port}")
self.server.bind((self.host, self.port))
print(f"Started Server on {self.host}:{self.port}")
except:
print(f"[ERROR] Couldn't Start Server on port {self.port}")
self._listen()
感谢您的帮助!
解决方案
试试这样:
html,body{background-color:#ccc}
或者只是测试目的尝试
<body bgcolor="black">
推荐阅读
- excel - 如何使用宏创建下拉菜单
- swiftui - 在 SwiftUI 中,如何为条形图创建动态矩形?
- excel - 如何将特定的数据单元格(跳过空白单元格)复制到另一个工作表到下一个空白行中?
- r - 嵌套组ggplot2中的连接点
- javascript - 来自 php 文件的完整日历的事件源
- javascript - 转换 Java LinkedHashMap
要在 javascript 中使用的 Json 格式 - python - 热像仪图像
- android - recyclerview 适配器的空点异常
- c# - 如何为 WPF 应用程序创建和集成插件
- java - 通过邮递员传递 url 时在邮递员中找不到错误 404