python mysql列表数据写入不显示实际值_Python。mysql.connector. 缺少从数据库在列表框中显示数据...

我有一个问题,不显示在tkinter的列表框中的数据。控制台不显示任何错误。在我看来,与数据库的二次连接是个问题。第一个连接在ConfigurationPage中,第二个连接在DeletePage中。在主页中,我可以向数据库添加新行,textbox显示添加结果,但在deletePage中,listbox有问题。我希望你知道什么是不正确的。为了方便起见,我放了一些应用程序工作的截图

配置页面

9vS9y.png

主页

NaOeZ.png

删除页面

QeKTT.png

代码:__author__ = 'Goldsmitd'

import mysql.connector

import tkinter as tk

from tkinter import ttk

class AdressBookApp(tk.Tk):

def __init__(self, *args, **kwargs):

tk.Tk.__init__(self, *args, **kwargs)

self.container = tk.Frame(self)

self.container.pack(side='top')

#creating menu

menubar = tk.Menu(self.container, bg='grey')

filemenu = tk.Menu(menubar, tearoff=0)

filemenu.add_command(label="Save settings")

filemenu.add_separator()

filemenu.add_command(label="Exit", command=quit)

menubar.add_cascade(label="File", menu=filemenu)

optmenu = tk.Menu(menubar, tearoff=0)

optmenu.add_command(label='Configuration',

command=lambda: self.show_frame(ConfigurationPage))

menubar.add_cascade(label='Options', menu=optmenu)

tk.Tk.config(self, menu=menubar)

#creating windows

self.frames ={}

for F in (HomePage, ConfigurationPage, DeletePage):

frame = F(self.container, self)

self.frames[F] = frame

frame.grid(row=0, column=0, sticky='nsew')

#displaying start page

self.show_frame(ConfigurationPage)

def show_frame(self, cont):

frame = self.frames[con

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Django 架构,一般使用 Django 自带的 ORM(Object-Relational Mapping)来操作数据库。ORM 是一种将关系数据库数据映射到对象的技术,将程序的对象转换为数据库的记录,从而实现对数据库的操作。 不过,如果你想直接使用 MySQL Connector/Python 驱动来连接 MySQL 数据库,可以在 Django 项目的 `__init__.py` 文件进行相关配置。具体配置如下: 1. 安装 MySQL Connector/Python 驱动,可以使用 pip 命令进行安装: ``` pip install mysql-connector-python ``` 2. 在 Django 项目的 `__init__.py` 文件添加以下代码: ```python import mysql.connector from django.db.backends.mysql.base import DatabaseWrapper # 定义 MySQL Connector/Python 驱动的数据库连接参数 cnx = mysql.connector.connect(user='your_username', password='your_password', host='your_host', database='your_database') # 重写 Django 的 MySQL 数据库连接方法 class MySQLDatabaseWrapper(DatabaseWrapper): def get_new_connection(self, conn_params): return cnx # 注册 MySQLDatabaseWrapper DatabaseWrapper.register_backend('mysql.connector', 'django.db.backends.mysql.base', 'MySQLDatabaseWrapper') ``` 需要将上述代码的 `your_username`、`your_password`、`your_host` 和 `your_database` 替换为实际数据库连接参数。 3. 在 Django 项目的 `settings.py` 文件,将 `DATABASES` 配置的 `ENGINE` 改为 `django.db.backends.mysql.connector`,如下所示: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql.connector', 'NAME': 'your_database', 'USER': 'your_username', 'PASSWORD': 'your_password', 'HOST': 'your_host', 'PORT': 'your_port', } } ``` 需要将上述代码的 `your_username`、`your_password`、`your_host`、`your_database` 和 `your_port` 替换为实际数据库连接参数。 这样,就可以在 Django 项目使用 MySQL Connector/Python 驱动来连接 MySQL 数据库了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值