Skip to content

Commit c64340a

Browse files
committed
fix extend your app
1 parent ed93468 commit c64340a

1 file changed

Lines changed: 15 additions & 12 deletions

File tree

bp/extend_your_application/README.md

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Já temos um modelo de `Post`, então não precisamos adicionar nada ao `models.
1212

1313
Vamos começar com a adição de um link dentro do arquivo `blog/templates/blog/post_list.html`. Neste momento ele deve se parecer com:
1414

15+
```html
1516
{% extends 'blog/base.html' %}
1617

1718
{% block content %}
@@ -25,14 +26,15 @@ Vamos começar com a adição de um link dentro do arquivo `blog/templates/blog/
2526
</div>
2627
{% endfor %}
2728
{% endblock content %}
28-
29+
```
2930

3031
Queremos ter um link para uma página de detalhe no título do post. Vamos transformar `< h1 >< href = "" >{{ post.title }} < /a >< / h1 >` em um link:
3132

33+
```html
3234
<h1><a href="{% url 'blog.views.post_detail' pk=post.pk %}">{{ post.title }}</a></h1>
33-
35+
```
3436

35-
Tempo para explicar o misterioso `{% url 'blog.views.post_detail' pk=post.pk %}`. Como você pode suspeitar, a notação de `{% %}` significa que estamos usando as tags de template do Django. Desta vez vamos usar uma que vai criar uma URL para nós!
37+
{%raw}Tempo para explicar o misterioso `{% url 'blog.views.post_detail' pk=post.pk %}`. Como você pode suspeitar, a notação de `{% %}` significa que estamos usando as tags de template do Django. Desta vez vamos usar uma que vai criar uma URL para nós!{% endraw %}
3638

3739
`blog.views.post_detail` é um caminho para um `post_detail` *Vista* que queremos criar. Preste atenção: `blog` é o nome da sua aplicação (o diretório `blog`), `views` vem do nome do arquivo `views.py` e, a última parte - `post_detail` - é o nome da *view*.
3840

@@ -47,15 +49,16 @@ Vamos criar a URL em `urls.py` para a nossa`post_detail` *view*!
4749
### URL: http://127.0.0.1:8000/post/1/
4850

4951
Queremos criar uma URL para guiar o Django para a *view* chamada `post_detail`, que irá mostrar um post completo do blog. Adicione a linha `url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail),` ao arquivo `blog/urls.py`. Deve ficar assim:
50-
51-
rom django.conf.urls import include, url
52+
53+
```python
54+
from django.conf.urls import include, url
5255
from . import views
5356

5457
urlpatterns = [
5558
url(r'^$', views.post_list),
5659
url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail),
5760
]
58-
61+
```
5962

6063
Parece assustador, mas não se preocupe - vamos explicar ele para você: - começa com `^` de novo... "o início" - `post /` significa apenas que após o começo, da URL deve ter a palavra **post** e **/**. Até aqui, tudo bem. - `(?P<pk>[0-9]+)` - essa parte é mais complicada. Isso significa que o Django vai levar tudo que você colocar aqui e transferir para uma view como uma variável chamada `pk`. `[0-9]` também nos diz que só pode ser um número, não uma letra (tudo entre 0 e 9). `+` significa que precisa existir um ou mais dígitos. Então algo como `http://127.0.0.1:8000/post//` não é válido, mas `http://127.0.0.1:8000/post/1234567890/` é perfeitamente ok! -`/` - então precisamos de **/** outra vez - `$` - "o fim"!
6164

@@ -125,7 +128,7 @@ Ah não! Outro erro! Mas nós já sabemos como lidar com isso, né? Precisamos a
125128
Vamos criar um arquivo em `blog/templates/blog` chamado `post_detail.html`.
126129

127130
Será algo parecido com isto:
128-
131+
```html
129132
{% extends 'blog/base.html' %}
130133

131134
{% block content %}
@@ -139,11 +142,11 @@ Será algo parecido com isto:
139142
<p>{{ post.text|linebreaks }}</p>
140143
</div>
141144
{% endblock %}
142-
145+
```
143146

144147
Mais uma vez estamos estendendo `base.html`. No bloco de `content` queremos exibir o published_date (data de publicação) do post (se houver), título e texto. Mas devemos discutir algumas coisas importantes, certo?
145148

146-
`{% if ... %} ... {% endif %}` é uma tag de template que podemos usar quando queremos verificar algo (Lembre-se `if ... else...` do **capítulo introdução ao Python**?). Neste cenário, queremos verificar se `published_date` de um post não está vazia.
149+
{% raw %}`{% if ... %} ... {% endif %}` é uma tag de template que podemos usar quando queremos verificar algo (Lembre-se `if ... else...` do **capítulo introdução ao Python**?). Neste cenário, queremos verificar se `published_date` de um post não está vazia.{% endraw %}
147150

148151
Ok, podemos atualizar nossa página e ver se `Page not found` já se foi.
149152

@@ -156,13 +159,13 @@ Yay! Funciona!
156159
## Mais uma coisa: hora de implantar!
157160

158161
Seria bom ver se seu site ainda estará trabalhando em PythonAnywhere, certo? Vamos tentar fazer deploy novamente.
159-
162+
```bash
160163
$ git status
161164
$ git add -A .
162165
$ git status
163166
$ git commit -m "Added views to create/edit blog post inside the site."
164167
$ git push
165-
168+
```
166169

167170
* Então, em um [console PythonAnywhere Bash][8]:
168171

@@ -173,4 +176,4 @@ Seria bom ver se seu site ainda estará trabalhando em PythonAnywhere, certo? Va
173176
[8]: https://www.pythonanywhere.com/consoles/
174177
[9]: https://www.pythonanywhere.com/web_app_setup/
175178

176-
E deve ser isso! Parabéns :)
179+
E deve ser isso! Parabéns :)

0 commit comments

Comments
 (0)