Skip to content

Commit

Permalink
Merge pull request #1 from aniav/portuguese-br
Browse files Browse the repository at this point in the history
Fix code blocks
  • Loading branch information
rapoulson committed Jun 19, 2015
2 parents 545d325 + 92a74a3 commit 6d7721f
Show file tree
Hide file tree
Showing 3 changed files with 165 additions and 163 deletions.
95 changes: 48 additions & 47 deletions pt/django_forms/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,17 @@ Precisamos criar um arquivo com este nome dentro da pasta `blog`.

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

``` python
from django import forms

from .models import Post

class PostForm(forms.ModelForm):

class Meta:
model = Post
fields = ('title', 'text',)```
```python
from django import forms

from .models import Post

class PostForm(forms.ModelForm):

class Meta:
model = Post
fields = ('title', 'text',)
```


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

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

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

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

```html
{% load staticfiles %}
<html>
<head>
<title>Django Girls blog</title>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
<link href='//fonts.googleapis.com/css?family=Lobster&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="{% static 'css/blog.css' %}">
</head>
<body>
<div class="page-header">
<a href="{% url 'blog.views.post_new' %}" class="top-menu"><span class="glyphicon glyphicon-plus"></span></a>
<h1><a href="/">Django Girls Blog</a></h1>
</div>
<div class="content container">
<div class="row">
<div class="col-md-8">
{% block content %}
{% endblock %}
</div>
{% load staticfiles %}
<html>
<head>
<title>Django Girls blog</title>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
<link href='//fonts.googleapis.com/css?family=Lobster&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="{% static 'css/blog.css' %}">
</head>
<body>
<div class="page-header">
<a href="{% url 'blog.views.post_new' %}" class="top-menu"><span class="glyphicon glyphicon-plus"></span></a>
<h1><a href="/">Django Girls Blog</a></h1>
</div>
<div class="content container">
<div class="row">
<div class="col-md-8">
{% block content %}
{% endblock %}
</div>
</div>
</body>
</html>
</div>
</body>
</html>
```

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

```python
url(r'^post/new/$', views.post_new, name='post_new'),
url(r'^post/new/$', views.post_new, name='post_new'),
```

O código final deve se parecer com isso:

``` python
from django.conf.urls import include, url
from . mport views
urlpatterns = [
url(r'^$', views.post_list),
url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail),
url(r'^post/new/$', views.post_new, name='post_new'),
]
from django.conf.urls import include, url
from . mport views

urlpatterns = [
url(r'^$', views.post_list),
url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail),
url(r'^post/new/$', views.post_new, name='post_new'),
]
```

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.
Expand All @@ -109,15 +110,15 @@ Após recarregar o site, nós veremos um `AttributeError`, desde que nós não t
Hora de abrir o arquivo `blog/views.py` e adicionar as linhas seguintes com o resto das linhas `from`:

``` python
from .forms import PostForm
from .forms import PostForm
```

e nossa *view*:

``` python
def post_new(request):
form = PostForm()
return render(request, 'blog/post_edit.html', {'form': form})
def post_new(request):
form = PostForm()
return render(request, 'blog/post_edit.html', {'form': form})
```

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.
Expand All @@ -137,7 +138,7 @@ Precisamos criar um arquivo `post_edit.html` na pasta `blog/templates/blog`. Pra

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

```html
```html
{% extends 'blog/base.html' %}

{% block content %}
Expand Down
95 changes: 48 additions & 47 deletions pt/extend_your_application/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,29 @@ Já temos um modelo de `Post`, então não precisamos adicionar nada ao `models.

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:

```html
{% extends 'blog/base.html' %}

{% block content %}
{% for post in posts %}
<div class="post">
<div class="date">
{{ post.published_date }}
</div>
<h1><a href="">{{ post.title }}</a></h1>
<p>{{ post.text|linebreaks }}</p>
```html
{% extends 'blog/base.html' %}

{% block content %}
{% for post in posts %}
<div class="post">
<div class="date">
{{ post.published_date }}
</div>
{% endfor %}
{% endblock content %}
```
<h1><a href="">{{ post.title }}</a></h1>
<p>{{ post.text|linebreaks }}</p>
</div>
{% endfor %}
{% endblock content %}
```

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:

```html
<h1><a href="{% url 'blog.views.post_detail' pk=post.pk %}">{{ post.title }}</a></h1>
```
```html
<h1><a href="{% url 'blog.views.post_detail' pk=post.pk %}">{{ post.title }}</a></h1>
```

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

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

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

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:

```python
from django.conf.urls import include, url
from . import views
urlpatterns = [
url(r'^$', views.post_list),
url(r'^post/(?P<pk>[0-9]+)/$', views.post_detail),
]
```
```python
from django.conf.urls import include, url
from . import views

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

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

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

Será algo parecido com isto:
```html
{% extends 'blog/base.html' %}

{% block content %}
<div class="post">
{% if post.published_date %}
<div class="date">
{{ post.published_date }}
</div>
{% endif %}
<h1>{{ post.title }}</h1>
<p>{{ post.text|linebreaks }}</p>
</div>
{% endblock %}
```

```html
{% extends 'blog/base.html' %}

{% block content %}
<div class="post">
{% if post.published_date %}
<div class="date">
{{ post.published_date }}
</div>
{% endif %}
<h1>{{ post.title }}</h1>
<p>{{ post.text|linebreaks }}</p>
</div>
{% endblock %}
```

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?

Expand All @@ -160,11 +161,11 @@ Yay! Funciona!

Seria bom ver se seu site ainda estará trabalhando em PythonAnywhere, certo? Vamos tentar fazer deploy novamente.
```bash
$ git status
$ git add -A .
$ git status
$ git commit -m "Added views to create/edit blog post inside the site."
$ git push
$ git status
$ git add -A .
$ git status
$ git commit -m "Added views to create/edit blog post inside the site."
$ git push
```

* Então, em um [console PythonAnywhere Bash][8]:
Expand Down
Loading

0 comments on commit 6d7721f

Please sign in to comment.