Update app.py
Browse files
app.py
CHANGED
@@ -10,6 +10,7 @@ def initialize_db():
|
|
10 |
try:
|
11 |
with open(DB_FILE, 'w') as f:
|
12 |
json.dump([], f) # Создаём пустой массив в файле
|
|
|
13 |
except Exception as e:
|
14 |
print(f"Ошибка при создании файла {DB_FILE}: {e}")
|
15 |
|
@@ -19,7 +20,9 @@ def load_products():
|
|
19 |
initialize_db()
|
20 |
try:
|
21 |
with open(DB_FILE, 'r') as f:
|
22 |
-
|
|
|
|
|
23 |
except (json.JSONDecodeError, Exception) as e:
|
24 |
print(f"Ошибка при чтении файла {DB_FILE}: {e}")
|
25 |
return []
|
@@ -28,7 +31,8 @@ def load_products():
|
|
28 |
def save_products(products):
|
29 |
try:
|
30 |
with open(DB_FILE, 'w') as f:
|
31 |
-
json.dump(products, f)
|
|
|
32 |
except Exception as e:
|
33 |
print(f"Ошибка при записи в файл {DB_FILE}: {e}")
|
34 |
|
@@ -66,6 +70,8 @@ def html_wrapper(content):
|
|
66 |
@app.route('/')
|
67 |
def catalog():
|
68 |
products = load_products()
|
|
|
|
|
69 |
products_html = ''.join([
|
70 |
f'''<div class="product">
|
71 |
<h3>{p['name']}</h3>
|
@@ -86,12 +92,13 @@ def admin():
|
|
86 |
if request.method == 'POST':
|
87 |
products = load_products()
|
88 |
# Добавляем новый товар из формы
|
89 |
-
|
90 |
'name': request.form['name'],
|
91 |
'description': request.form['description'],
|
92 |
'price': request.form['price'],
|
93 |
'image': request.form['image']
|
94 |
-
}
|
|
|
95 |
save_products(products)
|
96 |
return redirect('/admin')
|
97 |
|
@@ -112,4 +119,4 @@ if __name__ == '__main__':
|
|
112 |
if not os.path.exists(DB_FILE):
|
113 |
initialize_db()
|
114 |
|
115 |
-
app.run(host='0.0.0.0', port=7860)
|
|
|
10 |
try:
|
11 |
with open(DB_FILE, 'w') as f:
|
12 |
json.dump([], f) # Создаём пустой массив в файле
|
13 |
+
print(f"Файл {DB_FILE} успешно создан.") # Отладочное сообщение
|
14 |
except Exception as e:
|
15 |
print(f"Ошибка при создании файла {DB_FILE}: {e}")
|
16 |
|
|
|
20 |
initialize_db()
|
21 |
try:
|
22 |
with open(DB_FILE, 'r') as f:
|
23 |
+
products = json.load(f)
|
24 |
+
print(f"Данные успешно загружены из {DB_FILE}: {products}") # Отладочное сообщение
|
25 |
+
return products
|
26 |
except (json.JSONDecodeError, Exception) as e:
|
27 |
print(f"Ошибка при чтении файла {DB_FILE}: {e}")
|
28 |
return []
|
|
|
31 |
def save_products(products):
|
32 |
try:
|
33 |
with open(DB_FILE, 'w') as f:
|
34 |
+
json.dump(products, f, indent=4) # Добавлено форматирование для удобства чтения
|
35 |
+
print(f"Данные успешно сохранены в {DB_FILE}: {products}") # Отладочное сообщение
|
36 |
except Exception as e:
|
37 |
print(f"Ошибка при записи в файл {DB_FILE}: {e}")
|
38 |
|
|
|
70 |
@app.route('/')
|
71 |
def catalog():
|
72 |
products = load_products()
|
73 |
+
if not products: # Если список товаров пуст
|
74 |
+
return html_wrapper('<div class="header">Каталог товаров пуст</div>')
|
75 |
products_html = ''.join([
|
76 |
f'''<div class="product">
|
77 |
<h3>{p['name']}</h3>
|
|
|
92 |
if request.method == 'POST':
|
93 |
products = load_products()
|
94 |
# Добавляем новый товар из формы
|
95 |
+
new_product = {
|
96 |
'name': request.form['name'],
|
97 |
'description': request.form['description'],
|
98 |
'price': request.form['price'],
|
99 |
'image': request.form['image']
|
100 |
+
}
|
101 |
+
products.append(new_product)
|
102 |
save_products(products)
|
103 |
return redirect('/admin')
|
104 |
|
|
|
119 |
if not os.path.exists(DB_FILE):
|
120 |
initialize_db()
|
121 |
|
122 |
+
app.run(host='0.0.0.0', port=7860, debug=True) # Включаем debug-режим
|