gpt4 book ai didi

django - 如何使用 Django Web 应用程序实现 FirebaseDB

转载 作者:行者123 更新时间:2023-12-04 00:59:52 24 4
gpt4 key购买 nike

我正在尝试使用我的 Django Web 应用程序实现 Firebase 实时数据库。在使用 Firebase 正确设置配置后,我对如何将数据从我的 Django 网站而不是使用 Sqlite 或 Postgres 写入我的 Firebase 数据库感到困惑。

settings.py ,我需要将我的引擎设置为 Firebase 吗?我在这里完全困惑。我不想使用普通的 ORM,例如 Sqlite、Postgres 等。我希望我的应用程序使用 Firebase。

关于 Firebase,我还有什么需要了解的吗?

设置.py

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}

pyrebase_settings 文件
import pyrebase

config = {
"apiKey": "my_api_key_is_here",
"authDomain": "my_auth_domain_is_here",
"databaseURL": "my_firebase_database_url_is_here",
"projectId": "my_firebase_project_id_is_here",
"storageBucket": "my_firebase_storageBucket_is_here",
"serviceAccount": "my_serviceAccount.json_file_path_is_here",
"messagingSenderId": "messagingSenderId_is_here"
}

# initialize app with config
firebase = pyrebase.initialize_app(config)

# authenticate a user
auth = firebase.auth()
user = auth.sign_in_with_email_and_password("email@usedforauthentication.com", "FstrongPasswordHere")


db = firebase.database()

最佳答案

看看database文档的部分。它详细说明了您将如何与数据库 API 交互。通常,您会在需要从数据库中保存或检索某些内容的 View 中使用它们。

例如,假设您想要一个吸引用户的 View ,您可以使用以下内容:

#views.py
from pyrebase_settings import db, auth
from django.shortcuts import render

def get_users(request):
users = db.child("users").get()
return render(request, 'users.html', {'users': users.val()})

检索数据的文档可以查看 here

还说你想要一个 View 来保存(注册)用户,你可以有这样的东西:
#views.py
from pyrebase_settings import db, auth

def signup(request):
form = SignupForm(request.POST)
if form.is_valid():
email = form.cleaned_data('email')
password = form.cleaned_data('password')
auth.create_user_with_email_and_password(email, password)
# the rest of your code goes here
create_user_with_email_and_password方法已记录 here

附注。我从未使用过 pyrebase 库,所以我只根据其文档中指定的内容进行编写。另外,我只是把这些 django 片段写在我的头上,所以如果有任何语法错误或拼写错误,请原谅我:)

希望这可以帮助 :)

关于django - 如何使用 Django Web 应用程序实现 FirebaseDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43681362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com