Skip to content
This repository
Browse code

tradu\u00e7\u00e3o do texto inteiro

  • Loading branch information...
commit 57d8e30abcead5ab69920da25f61169004010da7 1 parent eb76aa0
edudobay authored December 24, 2007 anandology committed January 05, 2011

Showing 1 changed file with 48 additions and 48 deletions. Show diff stats Hide diff stats

  1. 96  tutorial2.pt-br.md
96  tutorial2.pt-br.md
Source Rendered
@@ -76,64 +76,64 @@ Isso diz ao web.py que use o "middleware" web.reloader (middleware é uma funç
76 76
 
77 77
 ## Templating
78 78
 
79  
-Writing HTML from inside Python can get cumbersome; it's much more fun to write Python from inside HTML. Luckily, web.py makes that pretty easy.
  79
+Escrever HTML de dentro do Python pode tornar-se um empecilho; é muito mais divertido escrever código Python de dentro do HTML. Por sorte, o web.py torna isso bastante fácil.
80 80
 
81  
-**Note:** Old versions of web.py used [Cheetah templates](http://www.cheetahtemplate.org/). You are, of course, welcome to use that or any other software with web.py, but it is no longer officially supported.
  81
+**Nota:** Versões antigas do web.py usavam [Cheetah templates](http://www.cheetahtemplate.org/). Você é, é claro, livre para usar esse ou qualquer outro software com o web.py, mas ele não é mais suportado oficialmente.
82 82
 
83  
-Let's make a new directory for our templates (we'll call it `templates`). Inside, make a new file whose name ends with HTML (we'll call it `index.html`). Now, inside, you can just write normal HTML:
  83
+Vamos criar um novo diretório para nossos templates (vamos chamá-lo de `templates`). Dentro dele, crie um novo arquivo cujo nome termine em HTML (vamos chamá-lo de `index.html`). Agora, dentro dele, você pode escrever código HTML normal:
84 84
 
85  
-    <em>Hello</em>, world!
  85
+    <em>Olá</em>, mundo!
86 86
 
87  
-Or you can use web.py's templating language to add code to your HTML:
  87
+Ou você pode usar a linguagem de templates do web.py para adicionar código ao seu HTML:
88 88
 
89  
-    $def with (name)
  89
+    $def with (nome)
90 90
     
91  
-    $if name:
92  
-        I just wanted to say <em>hello</em> to $name.
  91
+    $if nome:
  92
+        Eu só queria dizer <em>olá</em> para $nome.
93 93
     $else:
94  
-        <em>Hello</em>, world!
  94
+        <em>Olá</em>, mundo!
95 95
 
96  
-**Note: Currently, four spaces are required for indentation.**
  96
+**Nota: Atualmente, é necessário usar quatro espaços para a indentação.**
97 97
 
98  
-As you can see, the templates look a lot like Python files except for the `def with` statement at the top (saying what the template gets called with) and the `$`s placed in front of any code.  Currently, template.py requires the $def statement to be the first line of the file.  Also, note that web.py automatically escapes any variables used here, so that if for some reason `name` is set to a value containing some HTML, it will get properly escaped and appear as plain text. If you want to turn this off, write `$:name` instead of `$name`.
  98
+Como você pode ver, os templates parecem-se bastante com arquivos Python, exceto pela instrução `def with` no começo (ela diz com que parâmetros o template é chamado) e os `$`s colocados na frente de qualquer código.  Atualmente, o template.py requer que a instrução $def seja a primeira linha do arquivo.  Além disso, note que o web.py "escapa" as variáveis que forem usadas -- de modo que se, por alguma razão, o valor da variável `nome` conntém algum código HTML, ela será devidamente "escapada" e aparecerá como texto puro. Se você não deseja esse comportamento, use `$:nome` em vez de `$nome`.
99 99
 
100  
-Now go back to `code.py`. Under the first line, add:
  100
+Agora volte ao `codigo.py`. Abaixo da primeira linha, insira:
101 101
 
102 102
     render = web.template.render('templates/')
103 103
 
104  
-This tells web.py to look for templates in your templates directory. Then change `index.GET` to:
  104
+Isso manda o web.py procurar por templates no seu diretório `templates`. Então altere a função `index.GET` para:
105 105
 
106  
-    name = 'Bob'    
107  
-    print render.index(name)
  106
+    nome = 'João'
  107
+    print render.index(nome)
108 108
 
109  
-('index' is the name of the template and 'name' is the argument passed to it)
  109
+('index' é o nome do template, e 'nome' é o parâmetro passado para ele)
110 110
 
111  
-Visit your site and it should say hello to Bob. 
  111
+Visite seu site e ele deverá dizer olá para o João.
112 112
 
113  
-**Development tip:** Add , `cache=False` to the end of your `render` call to have web.py reload your templates every time you visit the page.
  113
+**Dica para o desenvolvimento:** Adicione `cache=False` ao final da sua chamada a `render` para que o web.py recarregue seus templates toda vez que você entrar na sua página.
114 114
 
115  
-Now change your URL line to:
  115
+Agora mude sua URL para:
116 116
 
117 117
     '/(.*)', 'index'
118  
-and change the definition of `index.GET` to:
  118
+e troque a definição de `index.GET` para:
119 119
 
120  
-    def GET(self, name):
  120
+    def GET(self, nome):
121 121
 
122  
-and delete the line setting name. Visit `/` and it should say hello to the world. Visit `/Joe` and it should say hello to Joe.
  122
+e apague a linha que define `nome`. Visite `/` e a página deverá dizer olá ao mundo. Visite `/José` e ela deverá dizer olá ao José.
123 123
 
124  
-If you wish to learn more about web.py templates, vist the [templetor page](/templetor).
  124
+Se você quer aprender mais sobre os templates do web.py, visite a página do [templetor](/templetor) (em inglês).
125 125
 
126  
-## Databasing
  126
+## Bancos de dados
127 127
 
128  
-Note: Before you can start using a database, make sure you have the appropriate database library installed.  For MySQL databases, use [MySQLdb](http://sourceforge.net/project/showfiles.php?group_id=22307) and for Postgre use [psycopg2](http://initd.org/pub/software/psycopg/).
  128
+Nota: Antes de poder começar a usar um banco de dados, certifique-se de que tem a biblioteca correspondente instalada. Para bancos de dados MySQL, use [MySQLdb](http://sourceforge.net/project/showfiles.php?group_id=22307); para o Postgres, use o [psycopg2](http://initd.org/pub/software/psycopg/).
129 129
 
130  
-Above your `web.run` line add:
  130
+Acima da sua linha `web.run`, adicione:
131 131
 
132  
-    web.config.db_parameters = dict(dbn='postgres', user='username', pw='password', db='dbname')
  132
+    web.config.db_parameters = dict(dbn='postgres', user='nome_do_usuario', pw='senha', db='nome_do_banco_de_dados')
133 133
 
134  
-(Adjust these -- especially `username`, `password`, and `dbname` -- for your setup. MySQL users will also want to change `dbn` to `mysql`.)
  134
+(Modifique isto -- especialmente `nome_do_usuario`, `senha`, and `nome_do_banco_de_dados` -- para os valores correspondentes à sua configuração. Usuários do MySQL também devem trocar `dbn` por `mysql`.)
135 135
 
136  
-Create a simple table in your database:
  136
+Crie uma tabela simples no seu banco de dados:
137 137
 
138 138
     CREATE TABLE todo (
139 139
       id serial primary key,
@@ -141,36 +141,36 @@ Create a simple table in your database:
141 141
       created timestamp default now(),
142 142
       done boolean default 'f'    );
143 143
 
144  
-And an initial row:
  144
+E uma linha inicial:
145 145
 
146  
-    INSERT INTO todo (title) VALUES ('Learn web.py');
  146
+    INSERT INTO todo (title) VALUES ('Aprender web.py');
147 147
 
148  
-Back in `code.py`, change `index.GET` to:
  148
+Voltando ao `codigo.py`, modifique a função `index.GET` para:
149 149
 
150 150
     def GET(self):
151 151
         todos = web.select('todo')
152 152
         print render.index(todos)
153 153
 
154  
-and change back the URL handler to take just `/`.
  154
+e modifique o tratador de URLs de volta para simplesmente `/`.
155 155
 
156  
-Edit `index.html` so that it reads:
  156
+Edite o `index.html` de modo que ele se torne:
157 157
 
158 158
     $def with (todos)
159 159
     <ul>
160 160
     $for todo in todos:
161 161
         <li id="t$todo.id">$todo.title</li>    </ul>
162  
-Visit your site again and you should see your one todo item: "Learn web.py". Congratulations! You've made a full application that reads from the database. Now let's let it write to the database as well.
  162
+Visite novamente seu site, e você deverá ver uma tarefa na lista: "Aprender web.py". Parabéns! Você fez uma aplicação completa que lê dados de um banco de dados. Agora vamos também gravar dados no banco de dados.
163 163
 
164  
-At the end of `index.html`, add:
  164
+No final de `index.html`, insira:
165 165
 
166  
-    <form method="post" action="add">    <p><input type="text" name="title" /> <input type="submit" value="Add" /></p>    </form>
167  
-And change your URLs list to read:
  166
+    <form method="post" action="add">    <p><input type="text" name="title" /> <input type="submit" value="Adicionar" /></p>    </form>
  167
+E modifique sua lista de URLs para que fique assim:
168 168
 
169 169
     '/', 'index',
170 170
     '/add', 'add'
171  
-(You've got to be very careful about those commas.  If you omit them, Python adds the strings together and sees `'/index/addadd'` instead of your list of URLs!)
  171
+(Você deve ser muito cuidadoso com essas vírgulas.  Se você as omitir, o Python juntará as strings e verá `'/index/addadd'` no lugar da sua lista de URLs!)
172 172
 
173  
-Now add another class:
  173
+Agora adicione outra classe:
174 174
 
175 175
     class add:
176 176
         def POST(self):
@@ -178,18 +178,18 @@ Now add another class:
178 178
             n = web.insert('todo', title=i.title)
179 179
     	    web.seeother('/')
180 180
 
181  
-(Notice how we're using `POST` for this?)
  181
+(Viu como estamos usando o método `POST` para isso?)
182 182
 
183  
-`web.input` gives you access to any variables the user submitted through a form. In order to access dat from multiple identically named items in a list format (e.g.: a series of checkboxes all with the attribute name="name") use:
  183
+`web.input` lhe dá acesso às variáveis que o usuário enviou através de um formulário.  Para obter dados de elementos com nomes idênticos em formato de lista (por exemplo, uma série de caixas de verificação com o atributo name="nome"), use:
184 184
 
185  
-    post_data=web.input(name=[])
  185
+    post_data=web.input(nome=[])
186 186
 
187  
-`web.insert` inserts values into the database table `todo` and gives you back the ID of the new row. `seeother` redirects users to that ID.
  187
+`web.insert` insere valores na tabela `todo` do banco de dados e lhe devolve o ID da nova linha. `seeother` redireciona os usuários para esse ID.
188 188
 
189  
-Quickly: `web.transact()` starts a transaction. `web.commit()` commits it; `web.rollback()` rolls it back. `web.update` works just like `web.insert` except instead of returning the ID it takes it (or a string `WHERE` clause) after the table name.
  189
+Rapidinhas: `web.transact()` inicia uma transação. `web.commit()` confirma a transação e armazena os dados; `web.rollback()` desfaz as alterações. `web.update` funciona como `web.insert`, recebendo (em vez de devolver) um ID (ou uma string com uma sentença `WHERE`) após o nome da tabela.
190 190
 
191  
-`web.input`, `web.query`, and other functions in web.py return "Storage objects", which are just like dictionaries except you can do `d.foo` in addition to `d['foo']`. This really cleans up some code.
  191
+`web.input`, `web.query` e outras funções do web.py devolvem "Objetos de armazenamento", que são como dicionários mas também permitem que você use `d.foo` além de `d['foo']`. Isso realmente deixa certos códigos mais limpos.
192 192
 
193  
-You can find the full details on these and all the web.py functions in [the documentation](http://new.webpy.org/docs).
  193
+Você pode encontrar todos os detalhes sobre essas e todas as outras funções do web.py na [documentação](http://new.webpy.org/docs) (em inglês).
194 194
 
195  
-This ends the tutorial for now. Take a look at the documentation for lots more cool stuff you can do with web.py.
  195
+Isso termina o tutorial por enquanto. Dê uma olhada na documentação para ver o monte de coisas legais que você pode fazer com o web.py.

0 notes on commit 57d8e30

Please sign in to comment.
Something went wrong with that request. Please try again.