django-Nuages-tag is een eenvoudige Django templatetag (vernoemd compute_tag_cloud) om te helpen bij het creëren van tag clouds.
Tiny les
Installeer de app in uw Django project
Dit moet zo eenvoudig te zijn
pip installeren django-Nuages-tag
en het toevoegen van & lsquo; django_nuages_tag & rsquo; om uw INSTALLED_APPS instellingen.
Voorbeeld van gebruik
1. Source data
Gezien het feit dat we een my_favourite_tools context variabele gedefinieerd als volgt uit:
my_favourite_tools = [{'naam': 'Python', 'interest': 30},
& Nbsp; {'naam': 'Django', 'interest': 70},
& Nbsp; {'naam': 'Ruby', 'interest': 6}]
Opmerking: voorbeeld toont een eenvoudige lijst, maar dit werkt ook met een Django QuerySet.
2. Bereken de tag cloud
We kunnen nu doen:
{% Compute_tag_cloud my_favourite_tools rente font_size 10 100 lin%}
compute_tag_cloud een attribuut font_size aan elk element in my_favourite_tools die is opgenomen tussen 10 en 100 en is representatief voor de waarde van interesse. De laatste parameter (lin) vraagt om een lineaire formule gebruiken om deze tag cloud berekenen. Een andere optie is om een logaritmische formule (de parameter log) gebruikt. U moet testen beide opties, maar log zal waarschijnlijk geven u betere resultaten als er een grote variatie in de waarden die u wilt berekenen.
Onze brongegevens ziet er nu als:
my_favourite_tools = [{'naam': 'Python', 'interest': 30, 'font_size': 43.75},
& Nbsp; {'naam': 'Django', 'interest': 70, 'font_size': 100},
& Nbsp; {'naam': 'Ruby', 'interest': 6, 'font_size': 10}]
3. Geef de tag cloud
Dit kan heel eenvoudig worden gedaan met de voor tag en de eenvoudige HTML / CSS. Bijvoorbeeld:
{% Voor het instrument in my_favourite_tools%}
& Nbsp; {{Tool.name}}
{% Endfor%}
Aantekeningen
- Compute_tag_cloud kan meerdere keren worden genoemd in een rij om meerdere waarden te genereren. We kunnen bijvoorbeeld berekenen de lettergrootte (tussen 10 en 55), maar ook de marge (tussen 5 en 28) en de opaciteit (tussen 0,7 en 1) van de tekst met iets als:
& Nbsp; {% compute_tag_cloud my_favourite_tools rente font_size 10 55 lin%}
& Nbsp; {% compute_tag_cloud my_favourite_tools rentemarge 5 28 lin%}
& Nbsp; {% compute_tag_cloud my_favourite_tools rente ondoorzichtigheid 0,7 1 lin%}
& Nbsp; {% voor instrument in my_favourite_tools%}
& Nbsp; {{tool.name}}
& Nbsp; {% endfor%}
- De teller parameter (interesse in ons voorbeeld) kan een attribuut, een methode die moet worden gebeld of een woordenboek sleutel
Eisen
Reacties niet gevonden