from flask import Flask, request, render_template, jsonify import sqlite3 import requests import os app = Flask(__name__, template_folder="./") # Создание базы данных и таблицы def init_db(): try: conn = sqlite3.connect('data.db') cursor = conn.cursor() cursor.execute(''' CREATE TABLE IF NOT EXISTS contacts ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, phone TEXT NOT NULL ) ''') conn.commit() conn.close() except Exception as e: print(f"Error initializing database: {e}") # Маршрут для обработки GET-запроса @app.route('/add_contact', methods=['GET']) def add_contact(): try: name = request.args.get('name') phone = request.args.get('phone') if not name or not phone: return "Both 'name' and 'phone' parameters are required.", 400 conn = sqlite3.connect('data.db') cursor = conn.cursor() cursor.execute('INSERT INTO contacts (name, phone) VALUES (?, ?)', (name, phone)) conn.commit() conn.close() return f"Contact added: {name} - {phone}", 200 except Exception as e: print(f"Error adding contact: {e}") return "Internal Server Error", 500 # Маршрут для отображения таблицы контактов @app.route('/contacts') def show_contacts(): try: conn = sqlite3.connect('data.db') cursor = conn.cursor() cursor.execute('SELECT name, phone FROM contacts') contacts = cursor.fetchall() conn.close() # HTML-шаблон для отображения таблицы html = ''' Contacts

Contacts

{% for contact in contacts %} {% endfor %}
Name Phone
{{ contact[0] }} {{ contact[1] }}
''' return render_template_string(html, contacts=contacts) except Exception as e: print(f"Error showing contacts: {e}") return "Internal Server Error", 500 if __name__ == '__main__': app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860)))