J'ai une application web django avec plusieurs utilisateurs qui se connectent et remplissent un formulaire.Django Enregistrer la progression inachevée sur le formulaire
Certains utilisateurs peuvent commencer à remplir un formulaire et ne possèdent pas les données requises (par exemple, un numéro de subvention) nécessaires pour valider le formulaire (et avant que nous puissions commencer à travailler dessus). Je veux qu'ils soient en mesure de remplir le formulaire et avoir une option pour enregistrer les informations partielles (un autre jour, ils peuvent se connecter et le compléter) ou soumettre l'information complète en cours de validation.
Actuellement j'utilise ModelForm pour tous les formulaires que j'utilise, et le modèle a des contraintes pour assurer des données valides (par exemple, le # de subvention doit être unique). Cependant, je veux qu'ils puissent sauvegarder ces données intermédiaires sans subir de validation. La solution à laquelle j'ai pensé semble plutôt inélégante et un-django-ey: créer un bouton "Save Partial Form" qui sauvegarde le dictionnaire POST le convertit en un fichier shelf et créer un modèle "SavedPartialForm" connectant l'utilisateur aux formulaires partiels enregistrés dans l'étagère. Est-ce que cela semble raisonnable? Existe-t-il un meilleur moyen de sauvegarder le dict POST directement dans la base de données? Ou est-ce un module complémentaire qui effectue cette sauvegarde partielle d'un formulaire (ce qui semble être une activité assez courante avec des formulaires Web)? Ma plus grande préoccupation avec ma méthode est que je veux être capable de faire automatiquement cette forme-autosave automatiquement (disons toutes les 10 minutes) dans une certaine méthode ajax/jquery sans réellement appuyer sur un bouton et envoyer la requête POST (par exemple, l'utilisateur n'est pas redirigé hors de la page lorsque la sauvegarde automatique est déclenchée). Je ne suis pas familier avec jquery et je me demande s'il serait possible de le faire.
avez-vous réussi à obtenir ce fonctionnement? Pouvez-vous fournir une réponse détaillée sur la façon de le faire. Ce sera très utile pour les autres développeurs .. –