{"id":2252,"date":"2020-12-05T14:28:43","date_gmt":"2020-12-05T17:28:43","guid":{"rendered":"https:\/\/danielamaksoud.com.br\/blog\/?p=2252"},"modified":"2020-12-11T11:44:11","modified_gmt":"2020-12-11T14:44:11","slug":"minha-primeira-aplicacao-no-django","status":"publish","type":"post","link":"https:\/\/danielamaksoud.com.br\/blog\/minha-primeira-aplicacao-no-django\/","title":{"rendered":"Minha Primeira Aplica\u00e7\u00e3o no Django"},"content":{"rendered":"<p>Minha experi\u00eancia com o <em>CakePHP<\/em> foi intensa e por intensa entenda que passei uns dois dias e umas duas madrugadas tentando descobrir como instalar esse <em>framework<\/em> no <em>macOS<\/em> at\u00e9 finalmente conseguir. haha&#8217;<\/p>\n<p>Com esse trauma, pensei que para instalar o <em>Django<\/em> teria a mesma dor de cabe\u00e7a e n\u00e3o \u00e9 que eu estava errada? <b>#aleluia<\/b> &#x1f64c;<\/p>\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/danielamaksoud.com.br\/blog\/wp-content\/uploads\/2020\/12\/cheerleader.gif?ssl=1\" \/><\/figure>\n<p><em>Django<\/em> \u00e9 um <em>framework<\/em> escrito em <em>Python<\/em> que visa acelerar o desenvolvimento para <em>web<\/em>, assim como o <em>CakePHP<\/em>, mas no caso o \u00faltimo foi escrito em <em>PHP<\/em>, sendo mais dif\u00edcil encontrar material de suporte em portugu\u00eas, j\u00e1 que a comunidade brasileira n\u00e3o \u00e9 muito engajada com o mesmo.<\/p>\n<p>Voltando \u00e0 instala\u00e7\u00e3o do <em>Django<\/em>, instalei <em>Python 3<\/em> na minha m\u00e1quina, criei um ambiente virtual e nele instalei o <em>Django<\/em> com sucesso.<\/p>\n<p>Acredito que todo esse processo levou aproximadamente uma hora para ser feito, talvez um pouco mais. Mesmo assim, comparado aos dois dias e duas madrugadas da instala\u00e7\u00e3o do <em>CakePHP<\/em>, \u00e9 poss\u00edvel notar uma grande diferen\u00e7a, n\u00e3o \u00e9 mesmo?<\/p>\n<p>Fiz alguns exerc\u00edcios at\u00e9 partir para o meu projeto final, uma aplica\u00e7\u00e3o de gest\u00e3o de clientes.<\/p>\n<p>Editei o arquivo <em>models.py<\/em> do meu projeto para criar a classe <em>Person<\/em> que cont\u00e9m todos os atributos de um cliente (<em>nome<\/em>, <em>sobrenome<\/em>, <em>idade<\/em>, <em>sal\u00e1rio<\/em>, <em>biografia<\/em> e <em>foto de perfil<\/em>).<\/p>\n<p>Em seguida, rodei o comando <em>migrate<\/em> para criar a tabela do cliente no banco de dados em <em>SQLite<\/em> e segui trabalhando no <em>CRUD<\/em> da minha aplica\u00e7\u00e3o.<\/p>\n<p>Ap\u00f3s finalizar as p\u00e1ginas de listar, criar, atualizar e deletar clientes, migrei para o <em>PostGreSQL<\/em>, fiz <em>commit<\/em> da minha aplica\u00e7\u00e3o no <em>Git<\/em>, instalei o <em>Heroku<\/em> na minha m\u00e1quina e enviei a minha aplica\u00e7\u00e3o para o mesmo.<\/p>\n<p>Tirando alguns <em>bugs<\/em> nos arquivos pedidos pelo <em>Heroku<\/em>, esse processo final de subir a aplica\u00e7\u00e3o <em>online<\/em> tamb\u00e9m foi bem mais r\u00e1pido do que eu imaginava, embora n\u00e3o tenha sido r\u00e1pido. haha&#8217;<\/p>\n<p>Por fim, achei o <em>framework<\/em> excelente e pretendo utiliz\u00e1-lo em projetos maiores. &#x1f44d;<\/p>\n<blockquote>\n<ul class=\"heart-list\">\n<li><b>Meu projeto no Github<\/b>: <a href=\"https:\/\/github.com\/danielamaksoud\/gestao_clientes\" target=\"_blank\" rel=\"noopener noreferrer\">gestao_clientes<\/a>.<\/li>\n<li><b>Minha aplica\u00e7\u00e3o no Heroku<\/b>: <a href=\"https:\/\/gestao-clientes-prog-web.herokuapp.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">gestao_clientes<\/a><\/li>\n<\/ul>\n<\/blockquote>\n<p><\/p>\n<blockquote><p>\n<b>Edit (11\/12\/2020)<\/b>: Aparentemente estou rodando a aplica\u00e7\u00e3o localmente com <em>SQLite<\/em> e no <em>Heroku<\/em> com <em>PostgreSQL<\/em>. Irei tentar migrar os dois para <em>PostgreSQL<\/em>.\n<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Minha experi\u00eancia com o CakePHP foi intensa e por intensa entenda que passei uns dois dias e umas duas madrugadas tentando descobrir como instalar esse framework no macOS at\u00e9 finalmente&#8230;<\/p>\n<div class=\"post-bottom\"><a class=\"button\" href=\"https:\/\/danielamaksoud.com.br\/blog\/minha-primeira-aplicacao-no-django\/\">Leia Mais<\/a><\/div>\n<div class=\"cf\"><\/div>\n","protected":false},"author":1,"featured_media":2280,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[55],"tags":[63],"class_list":["post-2252","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimento-web","tag-django"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/danielamaksoud.com.br\/blog\/wp-content\/uploads\/2020\/12\/woman-macbook-notebook.png?fit=3375%2C2250&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paVjRH-Ak","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/posts\/2252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/comments?post=2252"}],"version-history":[{"count":41,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/posts\/2252\/revisions"}],"predecessor-version":[{"id":2295,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/posts\/2252\/revisions\/2295"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/media\/2280"}],"wp:attachment":[{"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/media?parent=2252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/categories?post=2252"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/danielamaksoud.com.br\/blog\/wp-json\/wp\/v2\/tags?post=2252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}