python - 如何检查firebase中是否存在数据。(KivyMD Python)
问题描述
我是Python
和的新手KivyMD
。也可以使用数据库。我想检查用户使用 KivyMD 应用程序提供的数据是否已经在 Firebase 实时数据库中。这些是火力基地中的数据。
编码
def send_data(self, email):
from firebase import firebase
firebase = firebase.FirebaseApplication("https://infinity-mode-default-rtdb.firebaseio.com/", None)
data = {
'Email' : email
}
if email.split() == []:
cancel_btn_checkpoint_dialogue = MDFlatButton(text='Retry', on_release=self.close_checkpoint_dialogue)
self.checkpoint_dialog = MDDialog(title='Access Denied', text="Invalid Username"),
buttons=[cancel_btn_checkpoint_dialogue])
self.checkpoint_dialog.open()
else:
firebase.post('Users', data)
如果用户在数据库中输入现有值,则不应将该值保存在数据库中。还应显示一个对话框,表明电子邮件已在使用中。如果用户提供的值不在数据库中,则应将其保存。请帮助我做到这一点。
解决方案
我猜你使用的 python-firebase到目前为止文档很少。所以我会尽量根据包源做到最好...
您必须使用firebase.get
方法来检索包含为给定用户存储的当前数据的字典,然后检查该数据是否包含您要添加的信息(未经测试,因为 firebase 甚至不会在我的机器上导入):
record = firebase.get('/Users', 'id')
if not record.get('Email'):
firebase.post('/Users/'+'id', data)
推荐阅读
- javascript - Javascript/Jquery 3.3 从非严格到严格和顺序调用的转换函数
- docker - 如何在 docker 容器中运行后台程序
- python - 使用 Python 阅读 PDF 摘要
- html - 在 CSS 元素网格中对齐文本
- mysql - MYSQL:根据多个条件合并具有不同列数且不共享ID的两个表
- kubernetes - 如何安排执行 kubectl 命令的 cronjob?
- android - 下面是我的代码我想通过使用下面的代码将图像 url 发送到服务器而不是完整的图像我在 android studio 中收到服务器 500 错误
- gitlab - 从 gitlab 中删除子组所有者
- python - Python 3 程序返回错误“EOFError: EOF when reading a line”
- android - android构建版本是否需要index.android.bundle?