Multiplier dans django template
Je suis en parcourant panier-éléments, et vous voulez multiplier la quantité par unité prix comme ceci:
{% for cart_item in cart.cartitem_set.all %}
{{cart_item.quantity}}*{{cart_item.unit_price}}
{% endfor %}
Est-il possible de faire quelque chose comme ça? toute autre façon de le faire !! Grâce
double possible de la multiplication dans django modèle sans l'aide manuelle de modèle créé par la balise
C'est une utilisation intelligente d'un filtre. Je n'ai pas pensé à utiliser
C'est une utilisation intelligente d'un filtre. Je n'ai pas pensé à utiliser
cart_item.quantity
comme le value
et cart_item.unit_price
comme le arg
OriginalL'auteur vijay shanker | 2013-10-25
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'utiliser un modèle personnalisé de la balise. Modèle de filtres n'accepte qu'un seul argument, alors qu'un modèle personnalisé étiquette peut accepter autant de paramètres que vous avez besoin, faites votre multiplication et de retourner la valeur du contexte.
Vous aurez envie de vérifier le Django balise de modèle de la documentation, mais un bref exemple:
Que vous pouvez l'appeler comme ceci:
Êtes-vous sûr que vous ne voulez pas faire de ce résultat une propriété du le panier d'un article? Il me semble que vous auriez besoin de cette information dans le cadre de votre panier lorsque vous effectuez votre paiement.
OriginalL'auteur Brandon
Vous pouvez utiliser
widthratio
filtre monté pour la multiplication et la division.Pour calculer A*B:
{% widthratio A 1 B %}
Pour calculer A/B:
{% widthratio A B 1 %}
source: lien
Avis: Pour les nombres irrationnels, le résultat sera arrondir à l'entier.
Ne semble pas fonctionner pour les valeurs irrationnelles, c'est à dire, comment dois-je multiplier la valeur par 1,5 (semble tronquée de 1,5 1,0)
correct, je n'ai pas remarqué. les résultats seront arrondie à un nombre entier.
OriginalL'auteur Rahman
Ou vous pouvez définir la propriété sur le modèle:
comment accéder à ce dans django template directement?
OriginalL'auteur Martin
Vous pouvez le faire dans le modèle avec les filtres.
https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#writing-custom-template-filters
À partir de la documentation:
Voici un exemple de définition de filtre:
Et voici un exemple de la façon dont ce filtre serait utilisé:
OriginalL'auteur iblazevic