2017-08-27 128 views
1

有沒有辦法不呈現空白行django-tempte標籤是?不要渲染Django模板標籤所在的空行?

例如下面的模板:

{% load static %} 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 

將呈現這樣的HTML:

## blank line here 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 

有沒有一種方法,使之呈現乾脆:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
+0

[Django的htmlmin(https://pypi.python.org/pypi/django-htmlmin)?無論如何,你也可以使用'{%spaceless%}',你可以找到[這裏是更多..](https://docs.djangoproject.com/en/dev/ref/templates/builtins/#spaceless) –

+0

感謝指向'django-htmlmin',也許這將是我將要使用的內容。 '無空間'本身就是一個標籤,因此它將在指定的地方留下空行,因爲無論如何都不能縮小(不能縮小多餘的空行)。 –

回答

0

你能給你更多的背景,爲什麼你需要這個?構建HTML是爲了讓空間不重要。你看到的空間可能是一個換行符,而不是空格字符。如果您需要更漂亮一些,可以將Django標籤放在與其他HTML相同的行上,例如

<head>{% load static %}

或使用minifier或其他後處理器的Django渲染模板之後。

「空格無關緊要」的唯一可能的例外是在您的doctype聲明開始之前,這對於瀏覽器,網絡爬蟲和其他正在尋找它的人來說確實需要是第一行那裏。如果您發佈的代碼是實際摘錄,我會將您的{% load static %}移動到您的<head>標籤後面,因爲直到此時您才需要它。

1

如果您之前刪除換行符您<!DOCTYPE它應該做的伎倆:爲什麼不使用

{% load static %}<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8">