huogerac / guia-para-aprender-django

22 stars 1 forks source link

Parte 4) Nosso segundo projeto | Mão na massa #4

Open andradebru opened 2 years ago

andradebru commented 2 years ago

no github:

no terminal do pc:

criando e ativando ambiente virtual pelo terminal:

instalando o Django dentro do ambiente virtual:

dentro da pasta .venv (cd .venv)

pip install Django

💡 com o comando pip freeze conseguimos ver o que esta instalado

iniciar o projeto Django na pasta anterior (q contem o virtualenv) com:

criando e iniciando a app cursos:

Untitled 3

💡 passar as infos do pip freeze para um arquivo txt com o comando pip freeze > requirements.txt evita conflitos de versões do django.

⚠️ enviar também para o github com git add requirements.txt, commit e push

Na IDE:

Untitled 4

Untitled 5

Untitled 7

adicionando o visual, estilos e imagens

💡 todos os arquivos necessários para o front podem ser baixados do github do roger, pois o visual não é o foco neste tutorial

Untitled 8

- 💡 para não ficar repetindo código é possível usar uma página html como base, com todo o código que precisa estar em tds as páginas e utilizar blocos que mostrarão conteúdos dinamicamente.

Untitled 9

- ⚠️ Nas páginas que usarão essa base é preciso adicionar {% extends ‘cursos/base.html’ %} e {% block conteudo %} *conteudo* {% endblock conteudo %}       

Untitled 10

linkar páginas

Untitled 11



![Untitled 12](https://user-images.githubusercontent.com/77248375/176755627-6b4a3c19-c698-4828-9859-a2db2f0260ad.png)

- Usar a linguagem de template do Django que irá buscar pelo nome e transformar no endereço real: (podemos adicionar isto em qualquer html)
`<a href="{% url 'cursos.listar.tudo' %}">Ver cursos</a>
`    
![Untitled 13](https://user-images.githubusercontent.com/77248375/176755637-ad791450-7304-4fe7-9e13-bbfcb71ac4c4.png)

    - 💡 assim voce garante que caso mude a url a página não será perdida

### docker

**3 formas de utilizar docker:**

- usar postgres qdo necessario com mais simplicidade
- transformar meu projeto Django também em um container docker (com tds setups e dependencias necessários)
- publicar o projeto usando docker
- criar o arquivo **docker-composer.yml** dentro da pasta inicial

![Untitled 14](https://user-images.githubusercontent.com/77248375/176755663-bd8adc9f-a1f4-4067-86b3-c8ffe8b87a60.png)

- no terminal digitar o comando `docker-compose up`
- rodar no terminal: `netstat -nlt`
- encontrar o tcp com final :5432 (quer dizer q o postgres está rodando)

    💡 é possível parar com `sudo service postgresql stop`
andradebru commented 2 years ago

@huogerac e demais galere: na parte de linkar acho que dei uma perdida enquanto o roger mudava o link hardcodado pro {% %}. Perdão pelo vacilo, espero que os meninos tenham conseguido pegar melhor essa parte <3 qdo resolver issaí atualizo meu comentario

huogerac commented 2 years ago

Tem um print seu que pegou. Para linkar a página precisamos:

1) Criar uma rota com um nome:

urlpatterns = [
    path('', views.pagina_inicial, name='cursos.inicio'),
    path('listar/meus-todos/', views.listar_cursos, name='cursos.listar.tudo'),
]

2) Usar a linguagem de template do Django que irá buscar pelo nome e transformar no endereço real: (podemos adicionar isto em qualquer html)

<a href="{% url 'cursos.listar.tudo' %}">Ver cursos</a>