1
votes

Django comment gérer l'heure du format avec seulement l'heure et la minute

Sous forme de django, je voudrais une entrée pour une heure avec un format uniquement avec les heures et les minutes. Mais je continue à avoir le deuxième sur ma page Web. N'importe qui peut aider Merci

​​models.py

class RecetteForm(forms.ModelForm) :
    temps_préparation = TimeField(input_formats = ['%H:%M',], label='Temps de préparation – HH:MM')

settings.py

...
TIME_INPUT_FORMATS = [ '%I:%M']

forms.py

Class Recettes(models.Model) :
    …
    temps_preparation = models.TimeField(
            db_column='Temps_Preparation',
            help_text = 'veuillez saisir le temps sous la forme heure:minute(HH:MM)',
            blank=True,
         null=True,
            ) 
….


3 commentaires

Essayez le filtre de modèle django pour la date docs.djangoproject.com/en/3.0 / ref / templates / builtins / # date


essayez beaucoup de filtres de modèles pour le temps mais je reçois toujours un temps avec une seconde quoi que je fasse


Salut j'ai trouvé mon erreur. Dans ma base de données SQL, j'utilise le type varchar au lieu du type Time pour mon champ time. Autant que je modifie le type, tout va trouver.


3 Réponses :


0
votes

Vous pouvez formater les dates directement dans le modèle html ( docs )

your_date.strftime("%I:%M%p")

ou dans la vue ( docs )

<p>{{ your_date|date:"h:iA" }}</p>

Dans l'exemple ci-dessus, j'ai utilisé le format 12 heures.


2 commentaires

J'essaye dans les modèles html

{{my_time | time: "h: i"}}

et j'obtiens une erreur de syntaxe de modèle - Impossible d'analyser le reste: ': "h: i"' from ' recette.temps_preparation | temps: "h: i" '


Vous devez supprimer tous les espaces lorsque vous utilisez des filtres de modèle: essayez avec {{my_time | time: "h: i"}}



0
votes

dans setting.py ajouter

'DATETIME_FORMAT': "% m-% d -% M:% S"

dans models.py

temps_preparation = models.DateTimeField (null = True)

et dans form.py

datetime.strptime (votre date, "% M:% S")


0 commentaires

0
votes

Vous devez ajouter une seule ligne au fichier settings.py et cela modifiera la mise en forme de l'heure dans toutes les applications de votre projet.

ajoutez ceci au fichier settings.py :

  • Si vous voulez le formatage de l'horloge 12 heures avec AM / PM: TIME_INPUT_FORMATS = ('% I:% M% p',)
  • Si vous souhaitez un formatage sur 24 heures: TIME_INPUT_FORMATS = ('% H:% M',)

0 commentaires