Portál AbcLinuxu, 14. května 2025 00:42

Dotaz: Django: Odstranění prázdných řádků ze šablony

2.11.2018 13:36 Standa | skóre: 21 | blog: Linux prakticky
Django: Odstranění prázdných řádků ze šablony
Přečteno: 1490×
Odpovědět | Admin
Zdravím,

potřeboval bych poradit, jak se zbavit prázdných řádků a případně i mezer, které vznikají v Django šablonách. Když si napíši několik podmínek (možná by to šlo optimalizovat, ale to neřešme) na několik řádků, tak výsledkem jsou prázdné řádky. Obecně mi to nevadí, ale pokud zalomení vzniká uvnitř některých tagů, tak mi to vadí. Je nějaká cesta, jak po vygenerování HTML kódu "uklidit"? Nebo alespoň vymazat nadbytečné mezery a řádky?

Například u jednoduchého generátoru TITLE:

            {% block title %}
                {% if self.seo_title %}{{ self.seo_title }}{% else %}{{ self.title }}{% endif %}
            {% endblock %}
            {% block title_suffix %}
                {% with self.get_site.site_name as site_name %}
                    {% if site_name %}- {{ site_name }}{% endif %}
                {% endwith %}
            {% endblock %} | Nejlepší stránky na světě

získám něco jako:
             Nadpis stránky

            
                
                    
                
             | Nejlepší stránky na světě
Je nějaké obecné řešení? A tím nemyslím psát vše do nekonečného řádku :)

Díky za rady!
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.11.2018 20:08 debian+
Rozbalit Rozbalit vše Re: Django: Odstranění prázdných řádků ze šablony
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je nějaká cesta, jak po vygenerování HTML kódu "uklidit"? Nebo alespoň vymazat nadbytečné mezery a řádky?
Ano. napr. existujuce riesenie

Napisat Ti program na uklid?
9.11.2018 12:06 KOLEGA | skóre: 17 | blog: odpocinuti_vecne
Rozbalit Rozbalit vše Re: Django: Odstranění prázdných řádků ze šablony
Jses si jistej, ze tohle je dobra odpoved do fora? Mas dojem, ze pomahas?
5.11.2018 09:56 Jindřich Makovička | skóre: 17
Rozbalit Rozbalit vše Re: Django: Odstranění prázdných řádků ze šablony
Odpovědět | | Sbalit | Link | Blokovat | Admin
Existuje na to middleware.
5.11.2018 10:14 DarkKnight | skóre: 26
Rozbalit Rozbalit vše Re: Django: Odstranění prázdných řádků ze šablony
A nebo pouzit Jinja2 misto DTL, kde to je vyresene (http://jinja.pocoo.org/docs/dev/templates/#whitespace-control). Vice na WONTFIX bugu - https://code.djangoproject.com/ticket/2594
9.11.2018 12:05 KOLEGA | skóre: 17 | blog: odpocinuti_vecne
Rozbalit Rozbalit vše Re: Django: Odstranění prázdných řádků ze šablony
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj, myslim, ze hledas tohle:

https://stackoverflow.com/questions/35775207/remove-unnecessary-whitespace-from-jinja-rendered-template

Django pouziva templetovaci system Jinja2, zkus googlit podle toho. :)
14.11.2018 15:11 KOLEGA | skóre: 17 | blog: odpocinuti_vecne
Rozbalit Rozbalit vše Re: Django: Odstranění prázdných řádků ze šablony
s/templetovaci/templatovaci/
MaT avatar 18.11.2018 14:02 MaT | skóre: 28
Rozbalit Rozbalit vše Re: Django: Odstranění prázdných řádků ze šablony
Ne, v defaultu Django nepoužívá jinja2, ale vlastní šablonovací systém. Ano, jinja2 je možné používat také, ale musí si o to člověk explicitně říct...
Open source software for open minded people. :-)
19.11.2018 11:45 KOLEGA | skóre: 17 | blog: odpocinuti_vecne
Rozbalit Rozbalit vše Re: Django: Odstranění prázdných řádků ze šablony
Diky za upozorneni.
14.11.2018 04:27 Dramon
Rozbalit Rozbalit vše Re: Django: Odstranění prázdných řádků ze šablony
Odpovědět | | Sbalit | Link | Blokovat | Admin

Osobně bych se na to vykašlal, ale pokud je to "život ohrožující", dalo by se použít následující

{% spaceless %}
<p>
<a href="foo/">Foo</a>
</p>
{% endspaceless %}

 

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.