Skip to content

Commit 92a74a3

Browse files
committed
Fix code blocks
1 parent 545d325 commit 92a74a3

3 files changed

Lines changed: 165 additions & 163 deletions

File tree

pt/django_forms/README.md

Lines changed: 48 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,17 @@ Precisamos criar um arquivo com este nome dentro da pasta `blog`.
1616

1717
Ok, vamos abri-lo e escrever nele o seguinte:
1818

19-
``` python
20-
from django import forms
21-
22-
from .models import Post
23-
24-
class PostForm(forms.ModelForm):
25-
26-
class Meta:
27-
model = Post
28-
fields = ('title', 'text',)```
19+
```python
20+
from django import forms
21+
22+
from .models import Post
23+
24+
class PostForm(forms.ModelForm):
25+
26+
class Meta:
27+
model = Post
28+
fields = ('title', 'text',)
29+
```
2930

3031

3132
Primeiro precisamos importar o módulo de formulários do Django (`from django import forms`) e, obviamente, nosso modelo `Post` (`from .models import Post`).
@@ -45,38 +46,38 @@ Então, mais uma vez, nós iremos criar: um link para a página, uma URL, uma vi
4546
É hora de abrir `blog/templates/blog/base.html`. Nós iremos adicionar um link em `div` nomeado `page-header`:
4647

4748
```html
48-
<a href="{% url 'blog.views.post_new' %}" class="top-menu"><span class="glyphicon glyphicon-plus"></span></a>
49+
<a href="{% url 'blog.views.post_new' %}" class="top-menu"><span class="glyphicon glyphicon-plus"></span></a>
4950
```
5051

5152
Note que nós queremos chamar nossa nova visão `post_new`.
5253

5354
Depois de adicionar a linha, seu html deve se parecer com isso:
5455

5556
```html
56-
{% load staticfiles %}
57-
<html>
58-
<head>
59-
<title>Django Girls blog</title>
60-
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
61-
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
62-
<link href='//fonts.googleapis.com/css?family=Lobster&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
63-
<link rel="stylesheet" href="{% static 'css/blog.css' %}">
64-
</head>
65-
<body>
66-
<div class="page-header">
67-
<a href="{% url 'blog.views.post_new' %}" class="top-menu"><span class="glyphicon glyphicon-plus"></span></a>
68-
<h1><a href="/">Django Girls Blog</a></h1>
69-
</div>
70-
<div class="content container">
71-
<div class="row">
72-
<div class="col-md-8">
73-
{% block content %}
74-
{% endblock %}
75-
</div>
57+
{% load staticfiles %}
58+
<html>
59+
<head>
60+
<title>Django Girls blog</title>
61+
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
62+
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
63+
<link href='//fonts.googleapis.com/css?family=Lobster&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
64+
<link rel="stylesheet" href="{% static 'css/blog.css' %}">
65+
</head>
66+
<body>
67+
<div class="page-header">
68+
<a href="{% url 'blog.views.post_new' %}" class="top-menu"><span class="glyphicon glyphicon-plus"></span></a>
69+
<h1><a href="/">Django Girls Blog</a></h1>
70+
</div>
71+
<div class="content container">
72+
<div class="row">
73+
<div class="col-md-8">
74+
{% block content %}
75+
{% endblock %}
7676
</div>
7777
</div>
78-
</body>
79-
</html>
78+
</div>
79+
</body>
80+
</html>
8081
```
8182

8283
Depois de salvar e recarregar a página `http://127.0.0.1:8000` você verá, obviamente, um erro familiar `NoReverseMatch` certo?
@@ -86,20 +87,20 @@ Depois de salvar e recarregar a página `http://127.0.0.1:8000` você verá, obv
8687
Vamos abrir o arquivo `blog/urls.py` e escrever:
8788

8889
```python
89-
url(r'^post/new/$', views.post_new, name='post_new'),
90+
url(r'^post/new/$', views.post_new, name='post_new'),
9091
```
9192

9293
O código final deve se parecer com isso:
9394

9495
``` python
95-
from django.conf.urls import include, url
96-
from . mport views
97-
98-
urlpatterns = [
99-
url(r'^$', views.post_list),
100-
url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail),
101-
url(r'^post/new/$', views.post_new, name='post_new'),
102-
]
96+
from django.conf.urls import include, url
97+
from . mport views
98+
99+
urlpatterns = [
100+
url(r'^$', views.post_list),
101+
url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail),
102+
url(r'^post/new/$', views.post_new, name='post_new'),
103+
]
103104
```
104105

105106
Após recarregar o site, nós veremos um `AttributeError`, desde que nós não temos a visão `post_new` implementada. Vamos adicioná-la agora.
@@ -109,15 +110,15 @@ Após recarregar o site, nós veremos um `AttributeError`, desde que nós não t
109110
Hora de abrir o arquivo `blog/views.py` e adicionar as linhas seguintes com o resto das linhas `from`:
110111

111112
``` python
112-
from .forms import PostForm
113+
from .forms import PostForm
113114
```
114115

115116
e nossa *view*:
116117

117118
``` python
118-
def post_new(request):
119-
form = PostForm()
120-
return render(request, 'blog/post_edit.html', {'form': form})
119+
def post_new(request):
120+
form = PostForm()
121+
return render(request, 'blog/post_edit.html', {'form': form})
121122
```
122123

123124
Para criar um novo formulario `Post`, nós devemos chamar `PostForm()` e passá-lo para o template. Nós iremos voltar para esta *view*, mas por agora vamos criar rapidamente um template para o formulário.
@@ -137,7 +138,7 @@ Precisamos criar um arquivo `post_edit.html` na pasta `blog/templates/blog`. Pra
137138

138139
Beleza, então vamos ver como ficou o HTML `post_edit.html`:
139140

140-
```html
141+
```html
141142
{% extends 'blog/base.html' %}
142143

143144
{% block content %}

pt/extend_your_application/README.md

Lines changed: 48 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,29 @@ 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
16-
{% extends 'blog/base.html' %}
17-
18-
{% block content %}
19-
{% for post in posts %}
20-
<div class="post">
21-
<div class="date">
22-
{{ post.published_date }}
23-
</div>
24-
<h1><a href="">{{ post.title }}</a></h1>
25-
<p>{{ post.text|linebreaks }}</p>
15+
```html
16+
{% extends 'blog/base.html' %}
17+
18+
{% block content %}
19+
{% for post in posts %}
20+
<div class="post">
21+
<div class="date">
22+
{{ post.published_date }}
2623
</div>
27-
{% endfor %}
28-
{% endblock content %}
29-
```
24+
<h1><a href="">{{ post.title }}</a></h1>
25+
<p>{{ post.text|linebreaks }}</p>
26+
</div>
27+
{% endfor %}
28+
{% endblock content %}
29+
```
3030

3131
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:
3232

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

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 %}
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 %}
3838

3939
`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*.
4040

@@ -50,15 +50,15 @@ Vamos criar a URL em `urls.py` para a nossa`post_detail` *view*!
5050

5151
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:
5252

53-
```python
54-
from django.conf.urls import include, url
55-
from . import views
56-
57-
urlpatterns = [
58-
url(r'^$', views.post_list),
59-
url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail),
60-
]
61-
```
53+
```python
54+
from django.conf.urls import include, url
55+
from . import views
56+
57+
urlpatterns = [
58+
url(r'^$', views.post_list),
59+
url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail),
60+
]
61+
```
6262

6363
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"!
6464

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

130130
Será algo parecido com isto:
131-
```html
132-
{% extends 'blog/base.html' %}
133-
134-
{% block content %}
135-
<div class="post">
136-
{% if post.published_date %}
137-
<div class="date">
138-
{{ post.published_date }}
139-
</div>
140-
{% endif %}
141-
<h1>{{ post.title }}</h1>
142-
<p>{{ post.text|linebreaks }}</p>
143-
</div>
144-
{% endblock %}
145-
```
131+
132+
```html
133+
{% extends 'blog/base.html' %}
134+
135+
{% block content %}
136+
<div class="post">
137+
{% if post.published_date %}
138+
<div class="date">
139+
{{ post.published_date }}
140+
</div>
141+
{% endif %}
142+
<h1>{{ post.title }}</h1>
143+
<p>{{ post.text|linebreaks }}</p>
144+
</div>
145+
{% endblock %}
146+
```
146147

147148
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?
148149

@@ -160,11 +161,11 @@ Yay! Funciona!
160161

161162
Seria bom ver se seu site ainda estará trabalhando em PythonAnywhere, certo? Vamos tentar fazer deploy novamente.
162163
```bash
163-
$ git status
164-
$ git add -A .
165-
$ git status
166-
$ git commit -m "Added views to create/edit blog post inside the site."
167-
$ git push
164+
$ git status
165+
$ git add -A .
166+
$ git status
167+
$ git commit -m "Added views to create/edit blog post inside the site."
168+
$ git push
168169
```
169170

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

0 commit comments

Comments
 (0)