2017-10-08 2 views
0

Je cherche une sorte d'exemple avec flask en utilisant un formulaire requis sur la page d'accueil de mon site qui oblige l'utilisateur à sélectionner une option avant d'être autorisé sur le reste du site. Le formulaire est utilisé pour sélectionner une collection dans ma base de données mongo db. J'ai besoin de savoir quelle collection l'utilisateur veut utiliser avant d'aller ailleurs sur le site. Une fois cela fait, je dois m'assurer que je peux utiliser cette information sur mon autre itinéraire et sur mon site.Flask formulaire requis sur la page d'accueil

Répondre

1

Ce que vous voulez, c'est implémenter une infrastructure de connexion.

utilisant flacon, vous avez un modèle de base, où tous les autres modèles est extending, ce que vous pouvez faire quelque chose comme ce qui suit:

base.html:

{% if current_user.is_authenticated %} 
    <content> 
     {% block content %} 
     {% endblock %} 
    </content> 
{% else %} 
    <login-form> 
     {% block content %} 
     {% endblock %} 
    </login-form> 
{% endif %} 

en utilisant ce code, le contenu est montré seulement et seulement si l'utilisateur est authentifié. En login-form HTML, vous devriez avoir un form pour demander les informations d'identification nécessaires pour authentifier l'utilisateur, puis leur permettre d'accéder au reste du site.

dans d'autres fichiers de modèle, vous continuez à utiliser la même pratique:

dashboard.html:

{% extends 'base.html' %} 
{% block content %} 
    <YOUR HTML CONTENT> 
{% endblock %} 

le contenu de dashboard.html n'est affichée à l'utilisateur, s'ils sont connectés (current_user.is_authenticated = True)

est parce que dashboard.html est montré à l'intérieur du bloc content de base.html qui est seulement représenté ou rendu si cette condition est remplie.

vous pouvez utiliser n'importe quoi d'autre au lieu de is_authenticated comme la collection étant sélectionnée ou quelque chose comme ça. la procédure pour le faire est la même.

+1

Désolé pour le retard. Et merci qui a fonctionné pour moi. – Matt