You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: bp/template_extending/README.md
+14-13Lines changed: 14 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ Vamos criar um arquivo `base.html` na pasta `blog/templates/blog/`:
19
19
20
20
Abra-o e copie tudo que está no arquivo `post_list.html` para `base.html`, desse jeito:
21
21
22
-
html
22
+
```html
23
23
{% load staticfiles %}
24
24
<html>
25
25
<head>
@@ -51,11 +51,11 @@ Abra-o e copie tudo que está no arquivo `post_list.html` para `base.html`, dess
51
51
</div>
52
52
</body>
53
53
</html>
54
-
54
+
```
55
55
56
56
Então em `base.html`, substitua todo seu `<body>` (tudo entre `<body>` e `</body>`) com isso:
57
57
58
-
html
58
+
```html
59
59
<body>
60
60
<div class="page-header">
61
61
<h1><a href="/">Django Girls Blog</a></h1>
@@ -69,20 +69,20 @@ Então em `base.html`, substitua todo seu `<body>` (tudo entre `<body>` e `</bod
69
69
</div>
70
70
</div>
71
71
</body>
72
-
72
+
```
73
73
74
-
Basicamente nós substituimos tudo entre `{% for post in posts %}{% endfor %}` por:
74
+
{% raw %}Basicamente nós substituimos tudo entre `{% for post in posts %}{% endfor %}` por:{% endraw %}
75
75
76
-
html
76
+
```html
77
77
{% block content %}
78
78
{% endblock %}
79
-
79
+
```
80
80
81
81
O que isso significa? Você acabou de criar um `block` (bloco), que é uma tag de template que te permite inserir HTML neste bloco em outros templates que estendem `base.html`. Nós vamos te mostrar como fazer isso já já.
82
82
83
83
Salve e abra o arquivo `blog/templates/blog/post_list.html` novamente. Apague exatamente tudo que não estiver dentro da tag body e apague também `<div class="page-header"></div>`, de forma que o arquivo fique da seguinte maneira:
84
84
85
-
html
85
+
```html
86
86
{% for post in posts %}
87
87
<div class="post">
88
88
<div class="date">
@@ -92,16 +92,17 @@ Salve e abra o arquivo `blog/templates/blog/post_list.html` novamente. Apague ex
92
92
<p>{{ post.text|linebreaks }}</p>
93
93
</div>
94
94
{% endfor %}
95
-
95
+
```
96
96
97
97
Agora adicione esta linha ao início do arquivo:
98
98
99
+
```html
99
100
{% extends 'blog/base.html' %}
100
-
101
+
```
101
102
102
103
Isso significa que, agora, nós estamos estendendo o template `base.html` em `post_list.html`. Uma última coisa: colocar tudo (exceto pela linha que acabamos de adicionar) entre `{% block content %}` e `{% endblock content %}`. Como a seguir:
103
104
104
-
html
105
+
```html
105
106
{% extends 'blog/base.html' %}
106
107
107
108
{% block content %}
@@ -115,8 +116,8 @@ Isso significa que, agora, nós estamos estendendo o template `base.html` em `po
115
116
</div>
116
117
{% endfor %}
117
118
{% endblock content %}
118
-
119
+
```
119
120
120
121
É isso! Veja se o seu site ainda está funcionando direito :)
121
122
122
-
> Se ocorrer um erro de `TemplateDoesNotExists`, que diz que não existe nenhum arquivo chamado `blog/base.html` e se você tiver o `runserver` executando no terminal, tenta interrompê-lo (precionando Ctrl+C - o botão Control mais o botão C juntos) e reinicie ele rodando o comando `python manage.py runserver`.
123
+
> Se ocorrer um erro de `TemplateDoesNotExists`, que diz que não existe nenhum arquivo chamado `blog/base.html` e se você tiver o `runserver` executando no terminal, tenta interrompê-lo (precionando Ctrl+C - o botão Control mais o botão C juntos) e reinicie ele rodando o comando `python manage.py runserver`.
0 commit comments