问题
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 ?
回答1:
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
HttpResponseand suppresses every blank line. Then, it untags the previously-requested lines and returns the cleared response
回答2:
Check this snippet: http://djangosnippets.org/snippets/569/. You can also convert it to middleware to avoid additional tags in your templates.
来源:https://stackoverflow.com/questions/10971553/django-templates-how-to-avoid-empty-lines-with-include-and-load