Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -11,13 +11,13 @@ import threading
|
|
| 11 |
|
| 12 |
# Настройка логирования
|
| 13 |
logging.basicConfig(level=logging.INFO)
|
| 14 |
-
logger = logging.getLogger(__name__)
|
| 15 |
|
| 16 |
# Инициализация бота и Flask
|
| 17 |
BOT_TOKEN = '7734802681:AAGKHGG8O9uNk64JWTHH5yqXzvSxCcoLUdA'
|
| 18 |
bot = Bot(token=BOT_TOKEN)
|
| 19 |
dp = Dispatcher()
|
| 20 |
-
app = Flask(__name__)
|
| 21 |
|
| 22 |
# Путь для хранения данных (товары и заказы)
|
| 23 |
DATA_FILE = 'data.json'
|
|
@@ -68,7 +68,7 @@ async def show_products(message: types.Message):
|
|
| 68 |
return
|
| 69 |
for product in data['products']:
|
| 70 |
await message.answer(f"🏷 {product['name']} - {product['price']} руб.\nОписание: {product['description']}\n/id: {product['id']}",
|
| 71 |
-
|
| 72 |
|
| 73 |
@dp.message(F.text == "🛒 Корзина")
|
| 74 |
async def show_cart(message: types.Message):
|
|
@@ -176,7 +176,7 @@ admin_html = """
|
|
| 176 |
<div class="product">
|
| 177 |
Пользователь: {{ order.user_id }}<br>
|
| 178 |
Дата: {{ order.date }}<br>
|
| 179 |
-
Товары:
|
| 180 |
{% for item in order.items %}
|
| 181 |
{% for product in products %}
|
| 182 |
{% if product.id == item.product_id %}
|
|
@@ -210,10 +210,11 @@ admin_html = """
|
|
| 210 |
def admin_panel():
|
| 211 |
try:
|
| 212 |
logger.info("Rendering admin panel with products and orders")
|
|
|
|
| 213 |
return render_template_string(admin_html, products=data['products'], orders=data['orders'])
|
| 214 |
except Exception as e:
|
| 215 |
logger.error(f"Ошибка в шаблоне: {e}")
|
| 216 |
-
return "Ошибка сервера.
|
| 217 |
|
| 218 |
@app.route('/add_product', methods=['POST'])
|
| 219 |
def add_product():
|
|
@@ -265,4 +266,4 @@ if __name__ == '__main__':
|
|
| 265 |
except KeyboardInterrupt:
|
| 266 |
logger.info("Stopping bot and Flask")
|
| 267 |
finally:
|
| 268 |
-
flask_thread.join() # Ждём завершения потока Flask при завершении программы
|
|
|
|
| 11 |
|
| 12 |
# Настройка логирования
|
| 13 |
logging.basicConfig(level=logging.INFO)
|
| 14 |
+
logger = logging.getLogger(__name__) # Исправлено: Использование __name__
|
| 15 |
|
| 16 |
# Инициализация бота и Flask
|
| 17 |
BOT_TOKEN = '7734802681:AAGKHGG8O9uNk64JWTHH5yqXzvSxCcoLUdA'
|
| 18 |
bot = Bot(token=BOT_TOKEN)
|
| 19 |
dp = Dispatcher()
|
| 20 |
+
app = Flask(__name__) # Исправлено: Использование __name__
|
| 21 |
|
| 22 |
# Путь для хранения данных (товары и заказы)
|
| 23 |
DATA_FILE = 'data.json'
|
|
|
|
| 68 |
return
|
| 69 |
for product in data['products']:
|
| 70 |
await message.answer(f"🏷 {product['name']} - {product['price']} руб.\nОписание: {product['description']}\n/id: {product['id']}",
|
| 71 |
+
reply_markup=get_product_keyboard(product['id']))
|
| 72 |
|
| 73 |
@dp.message(F.text == "🛒 Корзина")
|
| 74 |
async def show_cart(message: types.Message):
|
|
|
|
| 176 |
<div class="product">
|
| 177 |
Пользователь: {{ order.user_id }}<br>
|
| 178 |
Дата: {{ order.date }}<br>
|
| 179 |
+
Товары:
|
| 180 |
{% for item in order.items %}
|
| 181 |
{% for product in products %}
|
| 182 |
{% if product.id == item.product_id %}
|
|
|
|
| 210 |
def admin_panel():
|
| 211 |
try:
|
| 212 |
logger.info("Rendering admin panel with products and orders")
|
| 213 |
+
logger.info(f"Products: {data['products']}, Orders: {data['orders']}") # Логирование данных
|
| 214 |
return render_template_string(admin_html, products=data['products'], orders=data['orders'])
|
| 215 |
except Exception as e:
|
| 216 |
logger.error(f"Ошибка в шаблоне: {e}")
|
| 217 |
+
return "Ошибка сервера. Проверьте логи.", 500
|
| 218 |
|
| 219 |
@app.route('/add_product', methods=['POST'])
|
| 220 |
def add_product():
|
|
|
|
| 266 |
except KeyboardInterrupt:
|
| 267 |
logger.info("Stopping bot and Flask")
|
| 268 |
finally:
|
| 269 |
+
flask_thread.join() # Ждём завершения потока Flask при завершении программы
|