Запись в таблице Flask mysqldb Python DELETE

У меня возникла проблема при попытке удалить данные из базы данных. Я не могу найти никаких проблем с моим кодом для удаления. Вставка данных работает отлично, но удаление данных меня не устраивает. Вот мой маршрут, который показывает как вставку, так и удаление данных.

@app.route('/our-ma/addsite', methods=['POST', 'GET'])
def addsite():
    cur = mysql.connection.cursor()
    sites = cur.execute('Select * from site_info')
    data = cur.fetchall()
    cur.close()
    form = Edit_Delete()
    addForm = SiteInfo()
    if request.method == 'POST':
        if form.validate_on_submit():
            mycur = mysql.connection.cursor()
            # print("This is the site to delete:", form.site.data)
            sql = f"""delete from site_info where site_name = "{{form.site.data}}"; """
            mycur.execute(sql)
            mycur.connection.commit()
            sites = mycur.execute('select * from site_info')
            data = mycur.fetchall()
            for x in data:
                print(x)
            mycur.close()
            return render_template('add_site.html', title='Add Site', data=data, form = form, addForm=addForm)


        if addForm.validate_on_submit():
            print("This addsite form is being called right now.")
            specialnotes = request.form['specialnotes']
            cur = mysql.connection.cursor()
            cur.execute(f"""INSERT INTO site_info (`site_contact`, `contact_num`, `site_name`, `printer_count`, `terminal_count`, `cd_count`, `contract_status`, `special_notes`) values ("{addForm.contact.data}", "{addForm.contactnum.data}", "{addForm.sitename.data}", "{addForm.printercount.data}", "{addForm.termcount.data}", "{addForm.cdcount.data}", "{addForm.contractstatus.data}", "{specialnotes}"); """)
            cur.connection.commit()
            x = cur.execute('SELECT * FROM site_info')
            data = cur.fetchall()
            cur.close()
            return render_template('add_site.html', title='Add site', data=data, form=form, addForm=addForm)

    return render_template('add_site.html', title='Add Site', data=data, form = form, addForm=addForm)

Почему вы используете двойные скобки в операторе удаления?

smallpants 29.05.2019 04:27

@smallpants да, я чувствую себя идиотом. По какой-то причине я перепутал его с моим джиндзя. Спасибо.

Andrew Venson 29.05.2019 04:30
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
2
309
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Синтаксис вашего формата выключен:

...site_name = "{{form.site.data}}";...

Должно быть

...site_name = "{form.site.data}";...

Другие вопросы по теме