Stack Overflow en español Asked by Liam on March 7, 2021
sepan disculpar si no expreso correctamente la pregunta.
Tengo la intención de que una persona pueda elegir entre varios sistemas operativos y que al elegir se imprima en un Card de Bootstrap un icono, osea reemplazar caracteres por iconos las cuales utilizo de la página iconmoon, no he intentado nada por que realmente no tengo absolutamente idea de como desarrollar eso, ante cualquier duda responderé lo mejor posible, gracias de ante mano, les dejaré una foto de ejemplo:
Así es iconmoon, viene con una carpeta font y lleva esto adentro:
y también viene con un style.css
Tu modelo debería ser así:
class Platform(models.Model):
platform = [
('windows', 'Windows'),
...
]
platformTags = {
'windows': 'windows8',
...
}
choice_platform = MultiSelectField(choices=platform)
def get_platform_tags(self):
return [
(platform, self.platformTags.get(platform)) for platform in self.choice_platform
]
Cabe recalcar que los choices platform
y platformTags
, deben estar definidas dentro de la clase o modelo Platform
, si no es asi, no funcionara, ademas de que es de buena practica.
El método get_platform_tags
, retornara una lista con tuplas, el primer elemento de cada tupla es el valor real que se establece en el modelo respecto a los choices y el segundo elemento de cada tupla son las clases CSS correspondientes.
Entonces, tu template debería ser así:
{% for platform, tags in product.get_platform_tags %}
<span class="{{ tags }}"></span>
{% endfor %}
Si no es necesario saber en el template a que plataforma pertenecen las clases CSS, entonces no es necesario retornar una lista con tuplas, si no simplemente las clases CSS, después de todo, tu objetivo es mostrar los iconos.
Entonce el método get_platform_tags
podría ser así:
def get_platform_tags(self):
return [self.platformTags.get(platform) for platform in self.choice_platform]
Simplemente retorna una lista de las clases CSS en base a los sistemas operativos seleccionados. Entonces, podrías mostrar los iconos en tu template tal que así:
{% for tags in product.get_platform_tags %}
<span class="{{ tags }}"></span>
{% endfor %}
Espero haberte ayudado.
Answered by Julio Cesar on March 7, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP