Spaces:
Sleeping
Sleeping
File size: 3,107 Bytes
7552ee6 edee679 ff0ece9 16c32c6 c8e4ab5 58cae0c 6e5ec17 edee679 e0c01fb 0a3e3b6 edee679 e0c01fb 6e5ec17 e0c01fb 9368cf0 e0c01fb 9368cf0 e0c01fb edee679 e0c01fb 4818e9b e0c01fb 4818e9b e0c01fb 4595fee f18f04b 2923221 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
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 = '''
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Contacts</title>
<style>
table {
width: 50%;
border-collapse: collapse;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
</style>
</head>
<body>
<h1>Contacts</h1>
<table>
<tr>
<th>Name</th>
<th>Phone</th>
</tr>
{% for contact in contacts %}
<tr>
<td>{{ contact[0] }}</td>
<td>{{ contact[1] }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
'''
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))) |