Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Написать программу на пайтон с использованием FASTAPI

nikitamagellanov Магелланов Ученик (17), на голосовании 1 год назад
Есть небольшая база данных Mysql, состоящая из таблицы goods (товары), которая имеет следующие столбцы: product_code, type_code, name, manufacturer_code, date_of_issue, guarantee_period, price, Batch_number, Quantity in stock. Нужно через FastAPI реализовать добавление данных в базу данных и удаление данных из нее. Помогите пожалуйста, так как я новичок в программировании, не понимаю как это сделать.
Голосование за лучший ответ
вованыч бизон Мастер (1534) 1 год назад
Для начала установим FastAPI и pymysql:

```bash
pip install fastapi
pip install uvicorn
pip install pymysql
```

Затем создадим файл main.py и добавим в него следующий код:

```python
from fastapi import FastAPI
import pymysql

app = FastAPI()

# Подключение к базе данных
def connect_db():
return pymysql.connect(host='localhost', user='user', password='password', database='mydb')

# Добавление товара в базу данных
@app.post("/goods/add")
async def add_goods(product_code: str, type_code: str, name: str, manufacturer_code: str, date_of_issue: str, guarantee_period: int, price: float, batch_number: str, quantity_in_stock: int):
connection = connect_db()
cursor = connection.cursor()
sql = "INSERT INTO goods (product_code, type_code, name, manufacturer_code, date_of_issue, guarantee_period, price, batch_number, quantity_in_stock) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)"
val = (product_code, type_code, name, manufacturer_code, date_of_issue, guarantee_period, price, batch_number, quantity_in_stock)
cursor.execute(sql, val)
connection.commit()
connection.close()
return {"message": "Товар успешно добавлен в базу данных"}

# Удаление товара из базы данных
@app.delete("/goods/delete")
async def delete_goods(product_code: str):
connection = connect_db()
cursor = connection.cursor()
sql = "DELETE FROM goods WHERE product_code = %s"
val = (product_code,)
cursor.execute(sql, val)
connection.commit()
connection.close()
return {"message": "Товар успешно удален из базы данных"}
```

Теперь можно запустить сервер FastAPI:

```bash
uvicorn main:app --reload
```

После этого можно отправлять POST и DELETE запросы для добавления и удаления данных из базы данных. Например, для добавления товара можно использовать curl:

```bash
curl -X POST "http://127.0.0.1:8000/goods/add?product_code=123&type_code=456&name=Товар1&manufacturer_code=789&date_of_issue=2022-01-01&guarantee_period=12&price=100.0&batch_number=ABC123&quantity_in_stock=10"
```

Или использовать любой другой инструмент для отправки HTTP запросов, например Postman.
Похожие вопросы