Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 7 additions & 19 deletions content/como-criar-um-site-em-30-minutos.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Como criar um site com formulário e lista em 30 minutos?
:summary: Como criar um site com formulário e lista em 30 minutos?
:github: rg3915

Se você já leu as [principais dúvidas de quem quer aprender Django]() agora você já está pronto para criar um site com:
Se você já leu as `principais dúvidas de quem quer aprender Django <http://pythonclub.com.br/principais-duvidas-de-quem-quer-aprender-django.html>`_ agora você já está pronto para criar um site com:

* um **modelo de dados** simples
* um **formulário** para inserção dos dados
Expand Down Expand Up @@ -82,7 +82,7 @@ Rodando o projeto.

$ python manage.py runserver

Abra o navegador e digite [http://127.0.0.1:8000/](http://127.0.0.1:8000/). Parabéns, seu projeto está funcionando.
Abra o navegador e digite `http://127.0.0.1:8000/ <http://127.0.0.1:8000/>`_. Parabéns, seu projeto está funcionando.

Agora vamos criar todos os demais elementos. Considere que estamos na pasta *env_crm/crm*.

Expand All @@ -102,12 +102,9 @@ Criando os *templates*.
Veja no diagrama abaixo a relação de dependência entre os arquivos.

.. image:: images/regisdasilva/diagrama.png

:alt: diagrama.html

![diagrama](./images/regisdasilva/diagrama.png)

Agora vamos editar alguns arquivos usando o [Sublime Text 3](http://www.sublimetext.com/3), leia também [Seu primeiro projeto Django com Sublime Text no Linux](http://pythonclub.com.br/primeiro-projeto-django-no-linux-com-sublime.html) de [Fabiano Góes](http://pythonclub.com.br/author/fabiano-goes.html).
Agora vamos editar alguns arquivos usando o `Sublime Text 3 <http://www.sublimetext.com/3>`_, leia também `Seu primeiro projeto Django com Sublime Text no Linux <http://pythonclub.com.br/primeiro-projeto-django-no-linux-com-sublime.html>`_ de `Fabiano Góes <http://pythonclub.com.br/author/fabiano-goes.html>`_.

Vamos carregar a pasta *env_crm* clicando em

Expand Down Expand Up @@ -160,7 +157,7 @@ Vamos criar o banco de dados através do comando **syncdb**.

$ python manage.py syncdb

Agora vamos editar *crm/cadastro/views.py*. Vamos usar [Generic Views](https://docs.djangoproject.com/en/1.2/ref/generic-views/).
Agora vamos editar *crm/cadastro/views.py*. Vamos usar `Generic Views <https://docs.djangoproject.com/en/1.2/ref/generic-views/>`_.

.. code-block:: python

Expand Down Expand Up @@ -256,11 +253,8 @@ Agora vamos editar *crm/cadastro/templates/index.html*.
{% endblock content %}

.. image:: images/regisdasilva/index.png

:alt: index.html

![index.html](./images/regisdasilva/index.png)

Agora vamos editar *crm/cadastro/templates/cadastro.html*.

.. code-block:: html
Expand All @@ -276,12 +270,9 @@ Agora vamos editar *crm/cadastro/templates/cadastro.html*.
{% endblock content %}

.. image:: images/regisdasilva/cadastro.png

:alt: cadastro.html

![cadastro.html](./images/regisdasilva/cadastro.png)

Leia sobre [as_p](http://docs.djangobrasil.org/topics/forms/#mostrando-um-formul-rio-usando-um-template) que significa que os campos ficarão em parágrafos, e [crsf_token (en)](https://docs.djangoproject.com/en/dev/ref/contrib/csrf/) que é uma proteção usada durante a inserção de dados.
Leia sobre `as_p <http://docs.djangobrasil.org/topics/forms/#mostrando-um-formul-rio-usando-um-template>`_ que significa que os campos ficarão em parágrafos, e `crsf_token (en) <https://docs.djangoproject.com/en/dev/ref/contrib/csrf/>`_ que é uma proteção usada durante a inserção de dados.

Agora vamos editar *crm/cadastro/templates/lista.html*.

Expand Down Expand Up @@ -317,11 +308,8 @@ Agora vamos editar *crm/cadastro/templates/lista.html*.
{% endblock content %}

.. image:: images/regisdasilva/lista.png

:alt: lista.html

![lista.html](./images/regisdasilva/lista.png)

Leia também [Seu primeiro projeto Django com Sublime Text no Linux](http://pythonclub.com.br/primeiro-projeto-django-no-linux-com-sublime. html) de [Fabiano Góes](http://pythonclub.com.br/author/fabiano-goes.html).
Leia também `Seu primeiro projeto Django com Sublime Text no Linux <http://pythonclub.com.br/primeiro-projeto-django-no-linux-com-sublime. html>`_ de `Fabiano Góes <http://pythonclub.com.br/author/fabiano-goes.html>`_.

Baixe o projeto no ![github.com/rg3915/crm](https://github.com/rg3915/crm).
Baixe o projeto no `github.com/rg3915/crm <https://github.com/rg3915/crm>`_.
49 changes: 24 additions & 25 deletions content/principais-duvidas-de-quem-quer-aprender-django.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,30 +11,33 @@ Principais dúvidas de quem quer aprender Django
:github: rg3915

Vou começar este post fazendo um pequeno depoimento:

Quando eu ouvi falar de Django pela primeira vez eu me perguntei:

`O que é Django?`_

Daí eu comecei a procurar pela resposta, e surgiram outras perguntas. Eu precisei criar uma apresentação para a faculdade e consequentemente uma página com um **formulário** para inserção de dados, **gravação no banco de dados** e uma **lista** que retornasse os dados já gravados.
Procurei por vários materiais, inclusive a documentação oficial do [Django](https://www.djangoproject.com/) mas encontrei muitas dificuldades para aprender do zero, só consegui entender o que era Django depois que fiz o curso [Welcome to the Django](http://welcometothedjango.com.br/). Então vejamos:
Procurei por vários materiais, inclusive a documentação oficial do `Django <https://www.djangoproject.com/>`_ mas encontrei muitas dificuldades para aprender do zero, só consegui entender o que era Django depois que fiz o curso `Welcome to the Django <http://welcometothedjango.com.br/>`_. Então vejamos:

`O que é Django?`_
`Instalando o Django`_
`O que é MTV?`_
`O que é Virtualenv e Requirements?`_
[Como criar um site com formulário e lista em 30 minutos?]()
- `O que é Django?`_
- `Instalando o Django`_
- `O que é MTV?`_
- `O que é Virtualenv e Requirements?`_
- `Como criar um site com formulário e lista em 30 minutos? <http://pythonclub.com.br/criar-site-com-form-lista-30-min.html>`_

===============
O que é Django?
===============

Segundo [Django Brasil](http://www.djangobrasil.org/),
Segundo `Django Brasil <http://www.djangobrasil.org/>`_,

> *Django é um framework web de alto nível escrito em Python que estimula o desenvolvimento rápido e limpo.*

Foi criado por *Adrian Holovaty* numa agência publicitária.

Django segue o princípio **DRY** *(Dont repeat yourself)* "Não se repita".

Adota o padrão MTV, possui [mapeamento objeto-relacional](http://turing.com.br/material/acpython/mod3/django/orm1.html) [ORM](http://pt.wikipedia.org/wiki/Django_(framework_web)#Mapeamento_Objeto-Relacional_.28ORM.29), orientação à objeto, sistema de [administração](https://docs.djangoproject.com/en/1.6/ref/contrib/admin/) automático e completo, sistema de [templates](https://docs.djangoproject.com/en/1.6/topics/templates/) e é *open source*.
Adota o padrão MTV, possui `mapeamento objeto-relacional <http://turing.com.br/material/acpython/mod3/django/orm1.html>`_ `ORM <http://pt.wikipedia.org/wiki/Django_(framework_web)#Mapeamento_Objeto-Relacional_.28ORM.29>`_, orientação à objeto, sistema de `administração <https://docs.djangoproject.com/en/1.6/ref/contrib/admin/>`_ automático e completo, sistema de `templates <https://docs.djangoproject.com/en/1.6/topics/templates/>`_ e é *open source*.

=======================
Instalando o Django
Expand All @@ -48,25 +51,23 @@ Na verdade não é só o Django, precisamos de:

* **Git** - Sistema de controle de versão distribuído.

E segundo [PyPA](https://python-packaging-user-guide.readthedocs.org/en/latest/current.html) é recomendável a instalação das seguintes ferramentas:
E segundo `PyPA <https://python-packaging-user-guide.readthedocs.org/en/latest/current.html>`_ é recomendável a instalação das seguintes ferramentas:

* **Pip** - O [Pip](http://pip.readthedocs.org/en/latest/) é uma ferramenta para instalar e gerenciar pacotes Python.
* **Pip** - O `Pip <http://pip.readthedocs.org/en/latest/>`_ é uma ferramenta para instalar e gerenciar pacotes Python.

* **Virtualenv** - O [Virtualenv](https://python-packaging-user-guide.readthedocs.org/en/latest/projects.html#virtualenv) é um ambiente virtual de desenvolvimento que isola o projeto com suas dependências específicas. Ou seja, você pode ter vários projetos com bibliotecas diferentes, versões diferentes; e um não interfere no outro, consequentemente não interfere nas configurações padrões do sistema operacional. Exemplo, você pode ter um projeto com Django 1.6 e outro com Django 1.5, cada um no seu ambiente de desenvolvimento.
* **Virtualenv** - O `Virtualenv <https://python-packaging-user-guide.readthedocs.org/en/latest/projects.html#virtualenv>`_ é um ambiente virtual de desenvolvimento que isola o projeto com suas dependências específicas. Ou seja, você pode ter vários projetos com bibliotecas diferentes, versões diferentes; e um não interfere no outro, consequentemente não interfere nas configurações padrões do sistema operacional. Exemplo, você pode ter um projeto com Django 1.6 e outro com Django 1.5, cada um no seu ambiente de desenvolvimento.

Instalando o Django no Windows
------------------------------

Veja o post de [Thiago Côroa](#).
Veja o post de **Thiago Côroa** (em breve).

Instalando o Django no Linux
------------------------------

Use o **terminal**.

* **Python 2.7**

Já vem instalado no Linux!:) Digite:
* **Python 2.7** - Já vem instalado no Linux! :) Digite:

.. code-block:: bash

Expand All @@ -78,33 +79,31 @@ Já vem instalado no Linux!:) Digite:

$ sudo apt-get install -y git

* **Curl**

Talvez precise.
* **Curl** - Talvez precise.

.. code-block:: bash

$ sudo apt-get install -y curl

Pip
* **Pip**

*Curl menos letra Ó*
*"Curl menos letra Ó"*

.. code-block:: bash

$ curl -O http://python-distribute.org/distribute_setup.py
$ sudo python -y distribute_setup.py
$ sudo easy_install pip

Fonte: [Welcome to the Django](http://welcometothedjango.com.br/) Curso
Fonte: `Welcome to the Django <http://welcometothedjango.com.br/>`_ Curso

Virtualenv
* **Virtualenv**

.. code-block:: bash

$ sudo pip install virtualenv

Django 1.6
* **Django 1.6**

.. code-block:: bash

Expand All @@ -129,7 +128,7 @@ MTV significa *Model*, *View* e *Template*. É o mesmo modelo de *arquitetura de

* *Templates* (prefiro não traduzir) são as páginas html, apesar de que a saída pode ser um simples texto no terminal. O legal é que templates no Django proporciona facilidade e flexibilidade, podemos criar um modelo *base* e estender sua reutilização, por exemplo.

Leia mais sobre MTV em [Entendendo como o Django trabalha](http://www.aprendendodjango.com/entendendo-como-o-django-trabalha/). E veja o diagrama.
Leia mais sobre MTV em `Entendendo como o Django trabalha <http://www.aprendendodjango.com/entendendo-como-o-django-trabalha/>`_. E veja o diagrama.

==================================
O que é Virtualenv e Requirements?
Expand All @@ -153,4 +152,4 @@ Então o que é *requirements*?
django-extensions
pygraphviz

Leia a continuação deste post em [Como criar um site com formulário e lista em 30 minutos?]().
Leia a continuação deste post em `Como criar um site com formulário e lista em 30 minutos? <http://pythonclub.com.br/criar-site-com-form-lista-30-min.html>`_.