Как передать данные из html-формы в базу данных firebase realtime в django (используя pyrebase)?

У меня проблема с пересылкой данных из формы в базу данных firebase realtime. Вот моя функция представления. Только что обновил, чтобы включить токен пользователя, но это не помогло. Данные не отображаются в базе данных.

def post_add(request):
    name = request.POST.get('name')
    phone = request.POST.get('phone')
    location = request.POST.get('location')
    city = request.POST.get('city')
    website = request.POST.get('website')
    
    
    data = {"name": name, "phone": phone, "location": location, "city": city, "website": website}

    user = authe.get_account_info(request.session['uid'])
    db.child("restaurant").push(data,user['users'][0]['localId'])
    
    return render(request, 'restaurants.html')

Здесь находится db

Только что обновил, чтобы включить токен пользователя, но это не помогло. Данные не отображаются в базе данных.

Думаю, вам следует использовать функцию set() или update().

Проверьте документацию здесь

  const postData = {
    author: username,
    uid: uid,
    body: body,
    title: title,
    starCount: 0,
    authorPic: picture
  };

  // Write the new post's data simultaneously in the posts list and the user's post list.
  const updates = {};
  updates['/posts/' + newPostKey] = postData;
  updates['/user-posts/' + uid + '/' + newPostKey] = postData;

  return update(ref(db), updates);

Это фрагмент на Javascript. Но в основном он будет таким же для Python firebase SDK.

Для вашей базы данных код должен выглядеть примерно так :

db.child("restaurant").update(data,user['users'][0]['localId'])

Попробуйте и дайте мне знать. Это должно сработать.

Будьте внимательны, set заменит все дерево JSON для данного ключа, update - нет.

ps : Но в идеале, вы должны структурировать ваши данные так, чтобы ключи были предсказуемы и уникальны.

Вернуться на верх