Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django templates: how to avoid empty lines with include and load?

In a template, I use the following code:

{% load i18n %}
{% include "header.html" %}
{% include "top_bar.html" %}

But this produces several carriage returns (\n) as I separate every include and load by a carriage return. I don't want to concatenate inclusions like this:

{% include "header.html" %}{% include "top_bar.html" %}

Because it's unreadable.

Is there a way to avoid these generated new lines ?

like image 713
ldiqual Avatar asked Jun 10 '12 19:06

ldiqual


People also ask

What does %% include?

{% include %} Processes a partial template. Any variables in the parent template will be available in the partial template. Variables set from the partial template using the set or assign tags will be available in the parent template.

What does {% include %} do in Django?

The include tag allows you include a template inside the current template. This is useful when you have a block of content that are the same for many pages.

Why is {% include %} used?

The include (or require ) statement takes all the text/code/markup that exists in the specified file and copies it into the file that uses the include statement. Including files is very useful when you want to include the same PHP, HTML, or text on multiple pages of a website.

What does include does in Django template?

The include tag allows you to include content from another template. Place the include tag exactly where you want the content to be displayed. This is useful when you have the same content for many pages.


1 Answers

Well after some researches, I found this thread where a patch is submitted and currently being reviewed. This validation step takes too much time regarding my project.

Here is a django module I created to do that. It handles whitespaced/blank lines/empty lines just as Gary Wilson asked in the thread above.

It consists in a template loader and a middleware:

  • The template loader tags the requested blank lines (those voluntary inserted by the developer)
  • The middleware intercepts the HttpResponse and suppresses every blank line. Then, it untags the previously-requested lines and returns the cleared response
like image 151
ldiqual Avatar answered Oct 30 '22 20:10

ldiqual