Передняя страница всегда ничего не показывает из базы данных и данных об ошибках при получении данных.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Передняя страница всегда ничего не показывает из базы данных и данных об ошибках при получении данных.

Сообщение Anonymous »

Я пытаюсь получить данные из базы данных и представить их на главной странице веб-приложения.
Когда я нажимаю разные кнопки холодильника, всегда отображается сообщение «В этом холодильнике ничего не найдено». на моей странице.
Для внешнего интерфейса я использую JavaScript и React.js. Серверная часть выполняется с помощью Python + Flask.
Может ли кто-нибудь помочь мне найти причину и исправить ее?
Внешняя страница1
Внешняя страница2
SpecificFridge.js:

Код: Выделить всё

import React, { useState, useEffect } from 'react';
import { useParams } from 'react-router-dom';
import NavBar from '../components/NavBar';
import './Style.css';

const SpecificFridge = () => {
const { fridgeNumber } = useParams();
console.log("fridgeNumber:", fridgeNumber);
const [items, setItems] = useState([]);

useEffect(() => {
fetch(`/api/fridge/${fridgeNumber}`)
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return response.json();
})
.then(data => setItems(data))
.catch(error => console.error('Error fetching fridge data:', error));
}, [fridgeNumber]);

return (



Fridge {fridgeNumber}



Item Name
Entry Date
Expiry Date



{items.length === 0 ? (

No items found in this fridge.

) : (
items.map((item, index) => (

{item.itemName}
{item.entryDate}
{item.expiryDate}

))
)}




);
};

export default SpecificFridge;
Fridge.js:

Код: Выделить всё

import React, { useState } from 'react';
import NavBar from '../components/NavBar';
import FridgeButton from '../components/FridgeButton';
import SpecificFridge from '../pages/SpecificFridge';
import './Style.css';

const Fridges = () => {
const [selectedFridge, setSelectedFridge] = useState(null);
const handleFridgeClick = (fridgeNumber) => {
setSelectedFridge(fridgeNumber);
};

return (



Total overview of all fridges

 handleFridgeClick(1)} />
 handleFridgeClick(2)} />
 handleFridgeClick(3)} />
 handleFridgeClick(4)} />

{selectedFridge !== null &&  }


);
};

export default Fridges;

app.py

Код: Выделить всё

from flask import Flask, jsonify, request
import sqlite3

app = Flask(__name__)

def get_db_connection():
conn = sqlite3.connect('stock.db')
conn.row_factory = sqlite3.Row
return conn

@app.route('/api/fridge/', methods=['GET'])
def get_fridge_items(fridgeNumber):
conn = None
try:
conn = get_db_connection()
items = conn.execute('SELECT itemName, entryDate, expiryDate FROM STOCK WHERE fridgeNumber = :fridgeNumber', {'fridgeNumber': fridgeNumber}).fetchall()
items_list = [dict(item) for item in items]
return jsonify(items_list)
except Exception as e:
print(f"An error occurred: {e}")
return jsonify({"error": "An error occurred while fetching data"}), 500
finally:
if conn:
conn.close()

if __name__ == '__main__':
app.run(debug=True)

Номер холодильника можно распечатать на консоли.

Подробнее здесь: https://stackoverflow.com/questions/785 ... ching-data
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»