Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

MVC, MVT e Template Engine - #13 MVT com Python - Views e Template

13/07/2020

Nessa vídeoaula vamos verificar entender o padrão de arquitetura de software MVC (Model - View - Template) muito comumente utilizado na linguagem de programação Python.

Os padrões de arquitetura são importantes para:
- Padronizar diretórios, nomeclaturas e componentes
- Possibilitar a divisão de equipes de trabalho
- Estabelecer um fluxo de informações

Django

O Django utiliza o padrão de arquitetura de software MVT (Model, View e Templates). Neste padrão, a view não abriga o design da página, mas sim realiza a lógica e chama a renderização do template.

O template por sua vez possui o código de marcação com a parte visual que será apresentada ao usuário.

Os models são responsáveis pelo gerenciamento do banco de dados.

Abaixo segue o fluxo de dados no Django:

Fluxo de dados MVT no Django

Primeiramente iremos instalar os softwares necessários:
- Python
- Django
- PyCharm

No terminal criaremos uma pasta, entraremos nela, criaremos a venv e instalaremos o Django.

mkdir Python
cd c:/Python
python -m venv venv
cd venv/Scripts
activate
python -m pip install Django
django-admin startproject project .
python manage.py startapp app

project/settings.py

Dentro do nosso projeto precisamos adicionar o app para leitura:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app'
]

project/urls.py

Vamos criar uma rota de teste pra ver se nosso sisteminha já está rodando ok.

from django.contrib import admin
from django.urls import path
from app.views import contato

urlpatterns = [
    path('admin/', admin.site.urls),
    path('contato/', contato),
]

app/views.py

Agora precisamos criar a view contato chamada na rota acima:

from django.shortcuts import render

# Create your views here.
def contato(request):
    data={}
    data['name']='Thiago'
    data['arr']=['thiago','thais','roberto','jose']
    return render(request, 'contato.html',data)

templates/main.html

Criaremos a pasta templates e dentro dela criaremos o arquivo main.html que receberá o código padrão da sua aplicação (aquilo que não muda).

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Webdesign em Foco</title>
    <link rel="stylesheet" href="{% static 'style.css' %}">
</head>
<body>
    {% block container %}
    {% endblock %}
</body>
</html>

templates/contato.html

Criaremos agora nosso template de contato extendendo o nosso layout padrão (main.html):

{% extends 'main.html' %}

{% block container %}
    <h1>Contatos</h1>
    Este é o contato {{name}}
    {% for names in arr %}
        {{names}}<br>
    {% endfor %}
{% endblock %}

Para rodar o nosso servidor Ptyhon executamos o seguinte comando:

python manage.py runserver

static/style.css

Podemos incluir também arquivos estáticos no nosso sistema, tais como: imagens, javascript e css. Para isso, vamos criar a pasta static e dentro dela o arquivo style.css:

body{background:gray;}

Nós chamamos esse tipo de arquivo no template utilizando no topo:

{% load static %}

E no html normalmente:

<link rel="stylesheet" href="{% static 'style.css' %}">

Por hoje é só! Sucesso nos códigos e na vida!

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

MVC, MVT e Template Engine - #12 Views no JS
Nesse tutorial aprenderemos como implementar as views do nosso sistema MVC no Javascript. Para isso, utilizaremos o módulo Handlebars.
Saiba mais!
MVC, MVT e Template Engine - #14 MVT com Python - Models
Nesse tutorial trabalharemos com o model do nosso sistema MVT. O model é responsável por gerenciar nosso acesso ao banco de dados.
Saiba mais!
MVC Completo
Neste curso aprenderemos como criar o padrão de projeto MVC completo, analisando desde sua estrutura até a programação.
Saiba mais!