from http.server import BaseHTTPRequestHandler, HTTPServer import urllib.parse import json class SimpleHTTPRequestHandler(BaseHTTPRequestHandler): def do_GET(self): # Обработка GET запросов if self.path == '/': self.send_registration_page() elif self.path == '/main': self.send_main_page() elif self.path == '/purchase': self.send_purchase_page() else: self.send_error(404) def do_POST(self): # Обработка POST запросов if self.path == '/register': self.register_user() elif self.path == '/select_parts': self.select_parts() def send_registration_page(self): self.send_response(200) self.send_header('Content-type', 'text/html') self.end_headers() response = ''' <html> <body> <h2>Регистрация</h2> <form method="post" action="/register"> Имя: <input type="text" name="name"><br> Email: <input type="text" name="email"><br> <input type="submit" value="Зарегистрироваться"> </form> </body> </html> ''' self.wfile.write(response.encode('utf-8')) def send_main_page(self): self.send_response(200) self.send_header('Content-type', 'text/html') self.end_headers() response = ''' <html> <body> <h2>Главная страница магазина автозапчастей</h2> <form method="post" action="/select_parts"> Марка автомобиля: <input type="text" name="brand"><br> Модель автомобиля: <input type="text" name="model"><br> Запчасть: <input type="text" name="part"><br> Количество: <input type="number" name="quantity" min="1"><br> <input type="submit" value="Выбрать запчасти"> </form> </body> </html> ''' self.wfile.write(response.encode('utf-8')) def send_purchase_page(self): self.send_response(200) self.send_header('Content-type', 'text/html') self.end_headers() response = ''' <html> <body> <h2>Страница покупок</h2> <p>Здесь вы сможете завершить покупку.</p> </body> </html> ''' self.wfile.write(response.encode('utf-8')) def register_user(self): content_length = int(self.headers['Content-Length']) post_data = self.rfile.read(content_length) form = urllib.parse.parse_qs(post_data.decode('utf-8')) name = form['name'][0] email = form['email'][0] # Здесь можно сохранить данные пользователя в файл или базу данных # Переход на главную страницу self.send_response(303) self.send_header('Location', '/main') self.end_headers() def select_parts(self): content_length = int(self.headers['Content-Length']) post_data = self.rfile.read(content_length) form = urllib.parse.parse_qs(post_data.decode('utf-8')) brand = form['brand'][0] model = form['model'][0] part = form['part'][0] quantity = form['quantity'][0] # Здесь можно сохранить выбранные детали и их количество # Переход на страницу покупок self.send_response(303) self.send_header('Location', '/purchase') self.end_headers() def run(server_class=HTTPServer, handler_class=SimpleHTTPRequestHandler, port=8080): server_address = ('', port) httpd = server_class(server_address, handler_class) print(f'Starting httpd server on port {port}') httpd.serve_forever() if name == "main": run(