Je construis une page d'enregistrement rapide avec Firebase, PyreBase & Flack; J'ai réussi à créer un compte d'utilisateur et appuyez sur les données dans le dossier Business; J'ai également créé un identifiant où l'utilisateur est connecté à une page de profil - pour afficher son nom et leur nom d'entreprise.
Mon seul problème est que je ne peux pas extraire les données simples, mais cela affiche plutôt les données comme un seul bloquer; Cela me rend difficile pour moi de trouver un moyen d'extraire uniquement le nom enregistrement.py p> nouveau.html p> profil.html p> Comment puis-je afficher uniquement le nom de l'utilisateur ou juste leur nom d'entreprise? Je pensais peut-être que les données businessname code> ou uniquement le nom d'utilisateur code> à partir de la
inscrit liste code>. p> < p> Je veux aussi seulement que les informations affichent uniquement l'utilisateur qui a signé - je pense avoir besoin d'utiliser un type d'utilisateur
[idtense] code> Je ne suis pas sûr .. à la place je reçois le tout Liste (Je sais que l'utilisation d'une boucle pour boucle ne vous aide pas!) p>
[nom d'utilisateur] code> ou
data [botternomame] code>, mais cela n'a pas fonctionné! Je veux pouvoir prendre les données séparément afin que je puisse contrôler où j'affiche les données. Les données affichées ne doivent être de l'utilisateur que qui s'est connectée. Ensuite, je peux ensuite ajouter des fonctionnalités dans lesquelles les utilisateurs peuvent modifier leurs informations. P> P>
3 Réponses :
dans votre fonction de registre Essayez ceci: puis dans votre fonction de connexion, essayez ceci: p> créer un nouvel utilisateur après votre ont rendu les modifications ci-dessus puis vous connectez à ce nouvel utilisateur. Ajoutez un commentaire sur ce que la nouvelle impression (inscrivez-vous) vous donne. P> laissez-moi savoir si cela fonctionne si cela fonctionne si cela fonctionne ?! p> Espérons que les changements de requête ci-dessus feraient est de créer une clé identifiable ci-dessus. avant de pousser sur Firebase pendant le registre. Puis interrogeant pour cette clé unique et la valeur de cette clé pendant la connexion entraînera une seule donnée utilisateur. P> Un peu d'explication de ce que je pense se produit: p> ('-MBVxA_L1VbTzjnRjpmf', {'businessName': 'BondRobotics', 'userName': 'Sinclair Akoto'})
Merci de votre aide! J'ai réussi à trouver ce que je cherchais, mais je suis toujours bloqué .. Pour obtenir uniquement les données pour Nom d'utilisateur code> ou
nom d'affaires code>, j'ai suivi vos étapes recommandées, puis Je viens de mettre
enregistrylist.get ('firebase_autogenéréated_key') code> dans une variable a ensuite utilisé cette variable pour référencer la clé de dictionnaire que je veux la valeur de ..
b = regiscriptionList.get ('- MBVY- Lnwphkgrrk3rfb ') code> puis
impression (B [' Nom d'utilisateur ']) code> ou
Imprimer (B ["Businessname']) code>
Cela m'a donné les données que je voulais - j'ai juste besoin de le transmettre dans mon projet de fiole pour tester et double vérifier comme je l'ai compris sur mon inactif .. ma prochaine question est si la clé '- MBVXA_L1VBTZJNRJPMF' Le code> est autogogénéré, comment pourrais-je vous référer automatiquement que lors de la création d'une page - donc je n'ai pas à référencer la clé Firebase? Seriez-vous capable d'aider ou de partager une certaine lumière dans la façon dont je pourrais faire ce travail? Je pensais que si cela est stocké dans la collection d'entreprises, je ne peux pas simplement faire référence à la collection d'entreprises avec l'utilisateur
[idtense] code>?
Avec l'aide du commentaire précédent, j'ai réussi à trouver un moyen d'implémenter le même processus sur une page Web du flacon.
@app.route('/', methods=['GET', 'POST']) def login(): unsuccessful = 'Please check your credentials' successful = 'Login successful' if request.method == 'POST': email = request.form.get('name') password = request.form.get('pass') try: user = auth.sign_in_with_email_and_password(email, password) registerList = db.child("Bame_Register").child("business").get(user['idToken']).val() data = registerList.get('-MBZJcfqbGhiOghMJEX5') usrNme = data['userName'] bus = data['businessName'] return render_template('profile.html', usrNme=usrNme, bus=bus) except: return render_template('new.html', us=unsuccessful) return render_template('new.html')
J'ai eu le même problème, mais j'ai pu comprendre un correctif de ce Réponse ci-dessus et autre post relié ici: extraire des données de CommandedDict
Je vais fournir un mélange de mon code et des autres J'ai référencé. P>
"Dans votre fonction de registre Essayez ceci:" p> "puis dans votre fonction de connexion, essayez ceci:" P> Sinclair Akoto
Toutes les chances que vous puissiez fournir ces informations: (1) la sortie de
impression (utilisateur) code> (2)
impression (enregistrement) code> (3)
Imprimer (inscrivez-vous) code> à partir de l'intérieur du bloc d'essai dans votre méthode de connexion juste avant cette ligne
retour Render_template ('Profile.html', inscritlist = inscrit liste) code>
J'ai essayé
impression (registre) code> sur mon inactif et récupéré code>
J'ai aussi essayé
imprimer (utilisateur) code> et j'ai récupéré un grand dictionnaire dans son email, localID, idtenbok, etc ... j'imprimerais ce que je suis revenu mais c'est trop grand
J'ai aussi essayé
impression (inscrivez-vous) code> et récupéré
ordonnéDict ([(('- MBVXA_L1VBtzjnrjpmf', {'Businessname': 'Bondrobotics', 'Nom d'utilisateur': 'Sinclair Akoto'}), ( '-Mbvy-lnwphkgrrk3rfb', {'Businessname': '619 Vente de mouche', 'Nom d'utilisateur': 'Richie'})]) Code>