Как отправить информацию из mysql базы данных в ios приложение через python скрипт - PullRequest
1 голос
/ 28 мая 2020

Я хотел бы отправить информацию из базы данных mysql в приложение ios, используя сценарий python и сервер flask. В настоящее время я могу обновить базу данных из приложения с помощью следующего сценария.

from flask import Flask
from flask import make_response
from flask import request
import mysql.connector

#opens database connectionto "events" database
try:
    mydb = mysql.connector.connect(host="localhost", user="root", passwd="Pass", database = "events")
    print("Connection OK")

except e:
    print("Connection failed: ", e)
#prepare a cursor object using cursor() method

mycursor = mydb.cursor()

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def register():

    if flask.request.method == 'POST':
        event_id = request.form['a']
        poi = request.form['b']
        address = request.form['c']
        start_time = request.form['d']
        end_time = request.form['e']

        sql = "INSERT INTO events (event_id, poi, address, start_time, end_time) VALUES (%s, %s, %s, %s, %s)"
        val = (event_id, poi, address, start_time, end_time)


        try:
           # Execute the SQL command
           mycursor.execute(sql, val)
           # Commit your changes in the database
           mydb.commit()
           mydb.close()
        except e:
           # Rollback in case there is any error
           print("Error: ", e)
           mydb.rollback()

        return make_response("Success!", 200)

    elif flask.request.method == 'GET':


           return make_response("Success!", 200)

print("DB is closed")

Я не уверен, как реализовать метод get в моем сценарии и внутри моего приложения для получения информации из базы данных. Быстрый файл, который я хотел бы предоставить, выглядит так:

class AnnotationsVM: ObservableObject {
    @Published var annos = [MGLPointAnnotation]()
    @Published var annotationPlacementFailed: Bool
    @ObservedObject var VModel = ViewModel()
    @Published var visited: Bool


//Need to change this so the first annotation that is created is the user's annotation. Alternatively, we could just not have a user annotation and just use the standard blue circle as user location for now.

    init() {
        let annotation = MGLPointAnnotation()
        annotation.title = "Shoe Store"
        annotation.coordinate = CLLocationCoordinate2D(latitude: 40.78, longitude: -73.98)
        annotation.subtitle = "Shoe Different"
        annotationPlacementFailed = false
        visited = true
        annos.append(annotation)


    }
}

Я хотел бы использовать информацию из базы данных для создания аннотаций внутри функции init, но не знаю, как создать получить функцию в быстром режиме.

Короче говоря, мне нужна помощь в написании методов получения базы данных в моем flask python скрипте и в моем ios быстром файле приложения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...