Quelle est la balise de modèle intégrée pour afficher l'année en cours de manière dynamique. Comme "2011", quelle serait la balise de modèle pour afficher cela?
Quelle est la balise de modèle intégrée pour afficher l'année en cours de manière dynamique. Comme "2011", quelle serait la balise de modèle pour afficher cela?
Réponses:
La balise complète à imprimer uniquement l'année en cours est {% now "Y" %}
. Notez que le Y doit être entre guillemets.
Y
doit être cité comme dans la réponse de cabishek.
F
place deM
J'ai utilisé ce qui suit dans mon site Web basé sur Django http://pmtboyshostelraipur.pythonanywhere.com/ qui fonctionne bien comme prévu (peut-être qu'au moment où vous lirez cet article, cela aurait cessé de fonctionner car c'est un hébergement gratuit, donc juste essayez dans le code et voyez).
{% now 'Y' %}
Vous pouvez le visiter et le voir dans la partie pied de page où j'ai affiché l'année en cours en utilisant le code ci-dessous (la partie CSS est omise, utilisez la vôtre).
<footer class="container-fluid" id="footer">
<center>
<p>
©
{% now 'Y' %},
PMT Boys hostel <br>
All rights reserved
</p>
</center>
</footer>
Et il affiche le texte centré suivant dans le pied de page de mon site Web.
©2018, PMT Boys hostel
All rights reserved
Dans mon modèle, à part l'année en cours, j'avais besoin d'un menu déroulant de l'année d'expiration de la carte de crédit avec 20 valeurs (en commençant par l'année en cours). Les select
valeurs devaient être de 2 chiffres et les chaînes d'affichage de 4 chiffres. Pour éviter le code de modèle complexe, j'ai écrit cette balise de modèle simple:
@register.filter
def add_current_year(int_value, digits=4):
if digits == 2:
return '%02d' % (int_value + datetime.datetime.now().year - 2000)
return '%d' % (int_value + datetime.datetime.now().year)
Et l'a utilisé de la manière suivante:
<select name="card_exp_year">
{% for i in 'iiiiiiiiiiiiiiiiiiii' %}
<option value="{{ forloop.counter0|add_current_year:2 }}">{{ forloop.counter0|add_current_year:4 }}</option>
{% endfor %}
</select>