J'utilise Django sur le backend et jQuery sur le frontal. Je voudrais accepter les fractions et les nombres entiers (comme "1/2", "1 1/4" ou "2", pour les quantités d'ingrédients dans une recette). J'utilise un FloatField pour stocker ces valeurs. Quelle est la meilleure façon de convertir ces fractions/nombres entiers en flotteurs?Analyse d'une fraction dans un formulaire Django
2
A
Répondre
1
>>> import fractions
>>> fractions.Fraction("1")
Fraction(1, 1)
>>> fractions.Fraction("1/2")
Fraction(1, 2)
Malheureusement, le constructeur fraction
ne gère pas les fractions mixtes (« 1 1/2 ») vous devrez donc écrire quelque chose pour analyser ces soi-même. Vous pouvez les stocker dans la base de données avec un champ personnalisé ou en les convertissant en float
.
0
Cela fonctionne pour moi. Pourrait encore être nettoyé un peu.
import fractions
def parse_multi_part_fraction(f):
if '/' not in f:
return float(f)
parts = f.split(' ')
total = 0.0
for p in parts:
if '/' in p:
frac = fractions.Fraction(p)
total += frac.numerator * (1.0/frac.denominator)
else:
total += float(p)
return total
Questions connexes
- 1. Analyse d'une fraction pour doubler
- 2. Analyse d'un formulaire faxé
- 3. Insertion d'une rubrique dans un formulaire Django
- 4. Soumettre un formulaire sans redirection dans Django
- 5. Django: Impossible d'enregistrer un formulaire
- 6. Validation de formulaire dans django
- 7. validation de formulaire dans django
- 8. Comment tester un formulaire avec un champ captcha dans django?
- 9. Notation de fraction de fraction de force LaTeX
- 10. Comment convertir un flotteur en fraction?
- 11. fraction Scanner Somme « Formula »
- 12. Longueur de la fraction
- 13. String.Format() fraction nombre entier
- 14. C# - Fraction d'interface?
- 15. django analyse syntaxique xml avec le modèle
- 16. formulaire Django Afficher Meta
- 17. django quantité formulaire widget
- 18. django variable de formulaire
- 19. Analyse du texte restructuré dans django (et python)
- 20. Rendre un formulaire non valide sans déclencher ValidationError dans Django
- 21. Rediriger vers un nouveau formulaire dans Django Admin sur Enregistrer
- 22. passer des arguments à un formulaire dynamique dans django
- 23. Comment restituer un formulaire django dans une vue?
- 24. Comment obtenir l'étiquette d'un choix dans un formulaire Django ChoiceField?
- 25. Formatage des valeurs de champs dans un formulaire Django
- 26. Django formulaire Personnalisation rendu
- 27. Django Recherche simple formulaire
- 28. Nettoyage des données de formulaire dans Django
- 29. Widgets de formulaire complexe dans Django
- 30. Afficher l'image dans le formulaire Django
Oui, je voulais savoir comment le stocker dans la base de données. Je cherchais à écraser les méthodes clean/to_python, mais créer un champ personnalisé semble être la meilleure option. – tocf
Oui, je pense qu'il est plus logique de les stocker sous forme de fractions. Malheureusement, je ne connais pas Django, donc je ne peux pas aider avec le champ personnalisé; Si vous reformulez la question, vous pourriez avoir plus de chance. – katrielalex
Très bien, la documentation/le code de Django est très utile et j'ai réussi à le faire fonctionner. Je vous remercie! – tocf