Python Flask import sqlite3 中删除数据库中的数据

问题描述 投票:0回答:1

当我在下面编写的代码中单击表中 Doctor 旁边的删除按钮时,我希望从数据库和表中删除数据。 你能帮我看看我该怎么做吗?

d_admin.html:

<div class="sil">
        <h1>Doktor Sil</h1>
        <form action="#">
            <table class="table table-striped">
                <thead>
                    <tr>
                        <td scope="col">Doktor ID</td> 
                        <td scope="col">Ad</td> 
                        <td scope="col">Soyad</td> 
                        <td scope="col">Uzmanlık Alanı</td> 
                        <td scope="col">Telefon</td> 
                        <td scope="col">Doğum Tarihi</td> 
                        <td scope="col">-</td>
                    </tr> 
                </thead>
                <tbody>
                    {% for doktor in doktorlar %}
                    <tr>
                        <td >{{doktor[0]}}</td>
                        <td>{{doktor[1]}}</td>
                        <td>{{doktor[2]}}</td>
                        <td>{{doktor[4]}}</td>
                        <td>{{doktor[5]}}</td>
                        <td>{{doktor[6]}}</td>
                        <td>
                            <a href="admin_panel_menu/{{panel_id}}/sil/{{doktor[0]}}"><button type="submit"> -  Sil  - </button></a>
                        </td>
                    </tr>
                    {% endfor %} 
                </tbody>
            </table>
        </form>
    </div>

app.py:

@app.route('/admin_panel_menu/<panel_id>')
def admin_panel_menu(panel_id):
    # content_id'ye göre ilgili içeriği gönder
    if panel_id == 'Doktor':
        doktorlar = Doktor.doktor_goster()
        return render_template('d_admin.html', doktorlar = doktorlar)
    if panel_id == 'Hasta':
        return render_template('h_admin.html')
    if panel_id == 'Rapor':
        return render_template('r_admin.html')

doktor.py:

def doktor_goster():
        conn = sqlite3.connect('hospital.db')
        c = conn.cursor()
        c.execute("SELECT * FROM Doktorlar")
        doktor = c.fetchall()
        conn.close()
        return doktor
    
    def doktor_sil(doktor_id):
        conn = sqlite3.connect('hospital.db')
        c = conn.cursor()
        c.execute("DELETE FROM Doktorlar WHERE id = {0}".format(id))
        conn.commit()
        conn.close()

我想在这里使用 doctor_delete 函数。

python sql sqlite flask
1个回答
0
投票

在这里,您可以在 Flask 中创建一个端点来恢复链接,然后将其删除并将用户再次重定向到该面板。

app.py
- Python 文件

@app.route('/admin_panel_menu/<panel_id>')
@app.route('/admin_panel_menu/<panel_id>/sil/<doktor>')
def admin_panel_menu(panel_id, doktor=None):
    # content_id'ye göre ilgili içeriği gönder
    if panel_id == 'Doktor':
        doktorlar = Doktor.doktor_goster()
        if doktor:
            doktor_sil(doctor_id)
        return render_template('d_admin.html', doktorlar = doktorlar)
    if panel_id == 'Hasta':
        return render_template('h_admin.html')
    if panel_id == 'Rapor':
        return render_template('r_admin.html')

此代码将与您原来的

<a>
一起使用,您也不需要拥有
<button type=‘submit'></button>

请随时发表评论以获取更多信息或澄清。 :)

© www.soinside.com 2019 - 2024. All rights reserved.