E aí pessoal tudo tranquilo nesse vídeo você aprenderá como reaproveitar um template existente no Django E também como criar uma nova Class bens de View aprenderemos isso através da criação da página de edição de tarefas da nossa aplicação [Música] Lembrando que esse vídeo faz parte de uma playlist sobre introdução ao Jungle e o link para essa playlist com todos os vídeos publicados até o momento está na descrição do vídeo assim como o link para o repositório com o código fonte Então bora programar agora com uma nova classbence de View que é update uma atualização Então
vamos criar uma nova classe classe update na verdade update viu variedade update viu E ela é bem semelhante a to you bem semelhante na verdade eu diria até quase que igual na verdade vai ser bem igual mesmo a gente vai ter um modo tudo a gente já sabe vamos ter também um formulário que vai ser gerado a partir dos feudos tá então e deadline e também vamos ter um açúcar URL né Para onde é que vai ser retornado quando a atualização né o formulário foi submetido com sucesso vai ser retonado ali para o reverse lazy
pronto é isso tá então realmente é bem igual né só que a diferença é que o update viu ele vai procurar um tio do específico né uma tarefa específica ser atualizada Então eu preciso saber de alguma maneira Qual é a tarefa que eu quero editar e isso a gente vai fazer através do ID da chave primária então lá no nosso arquivo de rotas aqui em URL do pai nós vamos importar o tio do update viu vamos criar um novo Pack e esse pef vai ser update barra e aí a gente vai ter um valor dinâmico
nessa rota que vai ser justamente vai dito da tarefa que eu quero atualizar então por exemplo se eu quero atualizar deixa eu vir aqui na aplicação essa tarefa aqui que é o aí de um Então vai ser update barra 1 se eu quero atualizar tarefa de número 4 vai ser update/4 no Django na que no arquivo de URL para a gente definir que uma parte da rota é uma variável a gente coloca entre maior e menor que define Qual o tipo dessa variável é do tipo inteiro dois pontos o nome dessa variável por padrão o
update View ele vai procurar uma variável na rota chamada PK de primer aqui e ela que a gente vai utilizar a nossa viu a série executada vai ser tudo update viu e também vamos dar um game né então name igual a judô underline update Beleza então é isso salvei aqui o código vamos ver como é que vai ficar eu vou atualizar aqui a página carregou bonitinho Então vamos vir aqui eu quero editar a tarefa de ai de um então local host 2.8000 barra update/1 veja que ele carregou aqui o nosso template já o sendo o
mesmo template que a gente utilizou para cadastro que é o tio do form já veio com o formulário preenchido com os dados atuais e aqui eu posso alterar Então vou mudar aqui para estudar Jungle vou colocar o seguinte finalizar a Playlist de introdução ao Django tá treina web playlist é complicado né playlist Vou salvar e veja que ele fez aqui a atualização perfeitamente tá E aí você tá gostando do que viu até agora se você quer se especializar ainda mais desenvolvimento back-in já treino lugar ideal para você somos uma escola especializada em formato desenvolvedores possuem
mais de 15 anos de experiência no mercado e já formamos mais de 200 mil alunos e nosso portal você encontra formações sobre as principais linguagens e tecnologias e falamos de uma maneira muito mais completa sobre todos os assuntos que você está vendo nesse vídeo então clique no link da descrição e faça já a sua matrícula Mas aqui tem uma coisa que a gente precisa melhorar eu esqueci de colocar aqui nas ações do botão de editar E além disso aqui tá como Nova tarefa e aqui em cima também né Eu quero um título diferente aqui para
esse caso então eu vou reutilizar o mesmo template mas aqui a gente tem que verificar se é uma edição ou se é um cadastro para exibir a mensagem correta então vamos fazer isso aqui primeiro lá no nosso template do underline vou fazer o seguinte o update viu ele envia para o contexto do template um objeto chamado Object ou então o próprio nome do modelo no caso só que tudo é minúsculo que é justamente o que está sendo editado naquele momento e aí o que que eu vou verificar eu vou verificar aqui dentro do contente tá
vendo vou fazer aqui um if ou seja se eu tiver um objeto aqui chamado tio do ponto p k quer dizer que isso aqui é uma edição por quê Porque eu tenho uma tarefa que tem um ID já registrado quer dizer que algo que já foi cadastrado e tá sendo alterado nessa cena editado e eu vou colocar um elsy depois desse if então Élcio que se não se isso aqui não for verdade quer dizer que é um cadastro Então coloca um H1 nova tarefa salvei volta aqui atualiza página tá aqui ó editar tarefa e aqui
eu tenho que fazer a mesma coisa aqui em cima tá vendo no title da página então eu vou só copiar esse trecho Vou colocar aqui dentro do meu Block page Tá então vamos só ajeitar a indenização aqui aqui também beleza só que aqui eu não vou ter H1 né vai ser só o texto puro Então tira esses alunos aqui beleza salve a página vamos voltar aqui para o navegador atualizar editar tarefa se eu for cadastrar Nova tarefa aqui ó Nova tarefa Nova tarefa então beleza A gente não precisa criar um template novo né e agora
eu quero também um botão para eu conseguir ir para página de edição Então vamos lá a gente vai mexer agora no to do list e aqui eu vou adicionar mais uma ação tá então vou deixar aqui eu concluir o excluir vou colocar um novo a com a classe btn btn vamos ver aqui acho que eu vou colocar secondry btn SM e que vai ser o editar Vamos só ver como é que vai ficar aqui botãozinho de editar né então tem alguma coisa e aqui no link no HF desse editar a gente vai utilizar lá o
nosso URL e qual que é a nossa rota né a aqui no RL a gente definiu como update então underline update salvei Isso aqui vai dar um erro tá vamos ver isso aqui acontecendo Vou atualizar página ele deu um erro porque ele não consegue fazer o reverse de update porque esse tipo de update essa rota ela tem Cadê aqui ela tem uma variável e eu preciso informar essa variável ele tá até dizendo olha Outdoor updates ele tem um argumento que não foi encontrado né que é justamente esse pecar E aí como é que eu passo
ele então lá no nosso tio do aqui depois do update né do nome da Rota que eu tô querendo pegar eu vou passar o nome da variável pecar vai ser igual a quem eu quero preencher nesse valor que vai ser Justamente a tarefa que eu tô enterando judô ponto pegar salvei volta aqui na página atualizo carregou E aí se eu clicar aqui por exemplo para editar a tarefa de aí de dois né que é o teste editar ver aqui certinho então teste editado opado salvar conseguiu fazer a edição perfeitamente Beleza então é isso né Então
essa aula já foi bem mais rápido porque a gente conseguir aproveitar muita coisa né então a gente já tem aqui a nossa tela de edição inclusive reutilizando o mesmo formulário o mesmo template da tela o desastre conseguimos fazer a definição aqui do título de maneira dinâmica Com base no que está sendo exibido né se é um cadastro ou se é uma edição e também queremos já um link aqui dinâmico né que vai ter uma parte variável que vai ser justamente o ID da tarefa que está sendo editada naquele momento tranquilo bom pessoal se você gostou
do vídeo Não esqueça de curtir e compartilhar com todo mundo que você conhece está aprendendo a sua programação caso tenha ficado alguma dúvida ou queira dar alguma sugestão coloque nos comentários queremos responder a todos até a próxima