{"id":593802,"date":"2025-08-21T15:09:42","date_gmt":"2025-08-21T14:09:42","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=pycharm&#038;p=593802"},"modified":"2025-08-22T15:34:37","modified_gmt":"2025-08-22T14:34:37","slug":"o-que-e-o-django-web-framework","status":"publish","type":"pycharm","link":"https:\/\/blog.jetbrains.com\/pt-br\/pycharm\/2025\/08\/o-que-e-o-django-web-framework\/","title":{"rendered":"O que \u00e9 o Django Web Framework?"},"content":{"rendered":"<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-593833 size-full\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/08\/PC-social-BlogFeatured-1280x720-2x-13.png\" alt=\"\" width=\"2560\" height=\"1440\" \/><\/figure>\n<p>Frameworks da Web s\u00e3o ferramentas de software projetadas para dar suporte ao desenvolvimento de aplicativos da Web, incluindo APIs, recursos e servi\u00e7os da Web. Geralmente, s\u00e3o pacotes completos que v\u00eam com pr\u00e1ticas recomendadas, ferramentas, recursos de teste e bibliotecas que facilitam a cria\u00e7\u00e3o de aplicativos.\u00a0<\/p>\n<p>Frameworks fornecem uma estrutura clara, geralmente seguindo o popular padr\u00e3o de design <a href=\"https:\/\/en.wikipedia.org\/wiki\/Model%E2%80%93view%E2%80%93controller\" target=\"_blank\" rel=\"noopener\">MVC (model-view-controller)<\/a> (ou uma varia\u00e7\u00e3o reconhec\u00edvel), permitindo a troca r\u00e1pida entre diferentes frameworks.<\/p>\n<p>Este blog apresenta uma dessas ferramentas, o Django, um framework da Web open source em Python conhecido por oferecer suporte ao desenvolvimento r\u00e1pido e seguro de aplicativos. Quer voc\u00ea seja um iniciante, um desenvolvedor experiente ou esteja migrando de um framework diferente, junte-se a n\u00f3s para mergulhar nos detalhes do framework Django.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-577695\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/06\/02_Django-Web-Framework-2x-1.png\" alt=\"Componentes principais do Django\" width=\"1700\" height=\"1032\" \/><\/figure>\n<h2 class=\"wp-block-heading\">A hist\u00f3ria do Django\u00a0<\/h2>\n<p>O Django \u00e9 um framework da Web avan\u00e7ado e open source para a cria\u00e7\u00e3o de aplicativos da Web usando o Python, projetado para ajudar os desenvolvedores a criar rapidamente sites seguros, f\u00e1ceis de manter e escal\u00e1veis.<\/p>\n<p>O framework teve origem em 2005, quando uma equipe de desenvolvimento na Web, inicialmente encarregada de criar e manter sites de jornais, embarcou em uma jornada. \u00c0 medida que constru\u00edam v\u00e1rios sites, eles identificaram e refinaram v\u00e1rios snippets de c\u00f3digo e princ\u00edpios de design compartilhados.\u00a0<\/p>\n<p>Com o tempo, essa sabedoria coletiva se transformou em um framework vers\u00e1til de desenvolvimento na Web e, em julho de 2005, eles o lan\u00e7aram ao p\u00fablico como o projeto &#8220;Django&#8221;. Atualmente, o Django \u00e9 mantido pela <a href=\"https:\/\/www.djangoproject.com\/foundation\/\" target=\"_blank\" rel=\"noopener\">Django Software Foundation (DSF)<\/a>, uma organiza\u00e7\u00e3o sem fins lucrativos que apoia o desenvolvimento do framework, promove seu uso e ajuda a sustentar sua crescente comunidade open source.<\/p>\n<p>A progress\u00e3o e o aprimoramento do Django t\u00eam sido cont\u00ednuos por muitos anos. A cada nova vers\u00e3o, ele introduziu novos recursos e solucionou problemas, abrangendo o suporte a tipos adicionais de bancos de dados, engines de template e mecanismos de cache. Essas atualiza\u00e7\u00f5es cont\u00ednuas ajudaram o Django a permanecer como a melhor op\u00e7\u00e3o para os desenvolvedores que procuram um framework da Web confi\u00e1vel e vers\u00e1til.<\/p>\n<h2 class=\"wp-block-heading\">As principais filosofias de design do Django<\/h2>\n<p>O Django foi criado com um conjunto claro de <a href=\"https:\/\/docs.djangoproject.com\/en\/4.2\/misc\/design-philosophies\/\" target=\"_blank\" rel=\"noopener\">filosofias de design<\/a> em mente: filosofias que ajudam os desenvolvedores a escrever c\u00f3digos limpos, de f\u00e1cil manuten\u00e7\u00e3o e eficientes. Essas ideias moldam tudo, desde a maneira como o Django lida com os dados at\u00e9 como ele orienta os desenvolvedores pela estrutura e l\u00f3gica dos aplicativos.<\/p>\n<h3 class=\"wp-block-heading\">Acoplamento fraco<\/h3>\n<p>O Django enfatiza o <a href=\"https:\/\/www.techtarget.com\/searchnetworking\/definition\/loose-coupling\" target=\"_blank\" rel=\"noopener\">acoplamento fraco<\/a>, o que significa que seus componentes operam independentemente, com conhecimento m\u00ednimo uns dos outros. Isso facilita a substitui\u00e7\u00e3o ou o upgrade de partes do aplicativo, como o backend do banco de dados ou o engine de templates, sem interromper todo o projeto.<\/p>\n<h3 class=\"wp-block-heading\">Menos c\u00f3digo<\/h3>\n<p>Os aplicativos Django devem ser concisos, evitando c\u00f3digos repetitivos desnecess\u00e1rios. O Django aproveita os recursos din\u00e2micos do Python, como a introspec\u00e7\u00e3o, para otimizar o desenvolvimento. Ao minimizar a repeti\u00e7\u00e3o e automatizar tarefas comuns, o Django permite que voc\u00ea se concentre mais na cria\u00e7\u00e3o de recursos do que em escrever c\u00f3digos de configura\u00e7\u00e3o.<\/p>\n<h3 class=\"wp-block-heading\">Desenvolvimento r\u00e1pido<\/h3>\n<p>Um framework da Web como o Django ajuda a acelerar as partes rotineiras do desenvolvimento na Web, tornando-o muito mais r\u00e1pido. Com ferramentas integradas, como a interface de administra\u00e7\u00e3o, a autentica\u00e7\u00e3o e o tratamento de formul\u00e1rios, o Django cuida do trabalho pesado, para que voc\u00ea possa entregar projetos com mais rapidez.<\/p>\n<h3 class=\"wp-block-heading\">N\u00e3o se repita (DRY, Don\u2019t repeat yourself)<\/h3>\n<p>Cada dado deve existir em um \u00fanico local. N\u00e3o \u00e9 bom repetir coisas, mas manter seu c\u00f3digo organizado \u00e9 excelente. O framework deve fazer mais com menos. Esse princ\u00edpio leva a menos bugs e simplifica as atualiza\u00e7\u00f5es, pois voc\u00ea n\u00e3o precisa alterar a mesma l\u00f3gica em v\u00e1rios lugares.<\/p>\n<h3 class=\"wp-block-heading\">\u00c9 melhor ser expl\u00edcito do que impl\u00edcito<\/h3>\n<p>Este \u00e9 um princ\u00edpio fundamental do Python (listado no <a href=\"https:\/\/peps.python.org\/pep-0020\/\" target=\"_blank\" rel=\"noopener\">PEP 20<\/a>) afirmando que o Django n\u00e3o deve ser obrigado a fazer muitas coisas nos bastidores, a menos que isso ajude a maximizar a conveni\u00eancia, pois isso pode confundir novos desenvolvedores. Manter o comportamento previs\u00edvel e transparente ao usar o Django garante que desenvolvedores de todos os n\u00edveis possam entender o que seu c\u00f3digo est\u00e1 fazendo sem precisar adivinhar.<\/p>\n<h3 class=\"wp-block-heading\">Consist\u00eancia<\/h3>\n<p>O Django visa a consist\u00eancia, desde na maneira como escrevemos o c\u00f3digo Python at\u00e9 na sensa\u00e7\u00e3o de usar o framework. Essa uniformidade entre as diferentes partes de um projeto (e at\u00e9 mesmo entre projetos diferentes) torna a colabora\u00e7\u00e3o mais f\u00e1cil e o aprendizado do framework mais simples.<\/p>\n<h2 class=\"wp-block-heading\">Principais componentes do Django<\/h2>\n<p>No centro de cada projeto Django, est\u00e3o alguns componentes principais que trabalham juntos para processar dados, lidar com solicita\u00e7\u00f5es de usu\u00e1rios e fornecer respostas ao navegador. Compreender essas partes principais (e como elas interagem) facilita a cria\u00e7\u00e3o e a manuten\u00e7\u00e3o de aplicativos da Web robustos.<\/p>\n<h3 class=\"wp-block-heading\">Modelos<\/h3>\n<p>Os modelos definem a estrutura dos dados do seu aplicativo. Eles representam o esquema do seu banco de dados usando classes Python, o que significa que voc\u00ea n\u00e3o precisa escrever SQL manualmente. Cada modelo normalmente mapeia uma \u00fanica tabela em seu banco de dados, e cada atributo no modelo mapeia um campo do banco de dados.<\/p>\n<p>Modelos tamb\u00e9m oferecem uma API avan\u00e7ada para criar, ler, atualizar e excluir dados. Como modelos est\u00e3o vinculados ao mapeador de objetos relacionais (ORM) do Django, voc\u00ea pode consultar e manipular seu banco de dados usando o c\u00f3digo Python em vez de SQL bruto.<\/p>\n<h3 class=\"wp-block-heading\">Views<\/h3>\n<p><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2025\/01\/django-views\/\">Views<\/a> s\u00e3o fun\u00e7\u00f5es ou classes Python que recebem uma solicita\u00e7\u00e3o da Web e retornam uma resposta. Eles s\u00e3o a l\u00f3gica central do seu aplicativo, lidando com tarefas como obten\u00e7\u00e3o de dados do banco de dados, aplica\u00e7\u00e3o de regras de neg\u00f3cios e transmiss\u00e3o de informa\u00e7\u00f5es a templates para exibi\u00e7\u00e3o.<\/p>\n<p>As views do Django podem retornar HTML, JSON ou qualquer outro tipo de resposta. Eles atuam como a camada intermedi\u00e1ria entre modelos (seus dados) e templates (sua interface de usu\u00e1rio).<\/p>\n<h3 class=\"wp-block-heading\">Templates<\/h3>\n<p><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2025\/02\/the-ultimate-guide-to-django-templates\/\">Templates<\/a> controlam como os dados s\u00e3o apresentados ao usu\u00e1rio. A linguagem de templates do Django permite que voc\u00ea gere HTML din\u00e2mico, incorporando l\u00f3gica e vari\u00e1veis diretamente nos seus arquivos HTML. Os templates s\u00e3o mantidos separados da l\u00f3gica de neg\u00f3cios para incentivar uma separa\u00e7\u00e3o clara de responsabilidades.<\/p>\n<p>Voc\u00ea pode percorrer os dados, usar filtros para modificar a maneira como o conte\u00fado \u00e9 exibido e incluir parciais (como cabe\u00e7alhos ou rodap\u00e9s) para obter elementos de design reutiliz\u00e1veis.<\/p>\n<h3 class=\"wp-block-heading\">URLs<\/h3>\n<p>URLs definem a camada de roteamento do seu projeto Django. A configura\u00e7\u00e3o de URLs mapeia caminhos espec\u00edficos (como <code>\/blog\/<\/code> ou <code>\/contact\/<\/code>) para views. Isso informa ao Django qual parte do c\u00f3digo deve ser executada quando um usu\u00e1rio visita uma determinada URL.<\/p>\n<p>URLs s\u00e3o definidas nos arquivos <code>urls.py<\/code> e podem incluir padr\u00f5es din\u00e2micos, como slugs ou IDs, para atender a diferentes tipos de conte\u00fado a partir da mesma l\u00f3gica de view.<\/p>\n<h2 class=\"wp-block-heading\">Quem usa o Django?<\/h2>\n<p>O Django conta com a confian\u00e7a de alguns dos maiores nomes da Web, incluindo o Instagram, o Pinterest e o Disqus. Essas plataformas lidam com grandes quantidades de tr\u00e1fego e contam com a estrutura s\u00f3lida e a escalabilidade do Django para manter as coisas funcionando sem problemas.<\/p>\n<p>No entanto, o framework tamb\u00e9m \u00e9 ideal para todos os tipos de projetos, desde sites simples e sistemas de gerenciamento de conte\u00fado at\u00e9 aplicativos complexos orientados por dados. Startups, organiza\u00e7\u00f5es sem fins lucrativos e desenvolvedores que criam ferramentas internas usam o Django por sua flexibilidade e velocidade.<\/p>\n<p>Parte do que torna o framework t\u00e3o popular \u00e9 sua abordagem <em>&#8220;batteries-included&#8221;<\/em>. O Django vem com tudo o que voc\u00ea precisa para criar um aplicativo da Web, como autentica\u00e7\u00e3o de usu\u00e1rio, um painel de administra\u00e7\u00e3o e um poderoso kit de ferramentas de banco de dados, tudo pronto para uso. Com uma comunidade forte e muita documenta\u00e7\u00e3o, tamb\u00e9m \u00e9 f\u00e1cil come\u00e7ar a usar e encontrar suporte \u00e0 medida que voc\u00ea avan\u00e7a.<\/p>\n<h2 class=\"wp-block-heading\">Por que usar o Django?<\/h2>\n<p>O Django est\u00e1 repleto de recursos que tornam o desenvolvimento na Web mais r\u00e1pido, mais seguro e mais eficiente. N\u00e3o importa se voc\u00ea est\u00e1 criando um projeto pequeno ou um aplicativo de grande escala, o Django ajuda voc\u00ea a come\u00e7ar a trabalhar rapidamente, sem sacrificar a qualidade ou a flexibilidade. Vamos analisar mais de perto o que torna o Django uma escolha t\u00e3o s\u00f3lida para os desenvolvedores.<\/p>\n<h3 class=\"wp-block-heading\">Abordagem <em>&#8220;batteries-included&#8221;<\/em>\u00a0<\/h3>\n<p>O Django segue a abordagem <em>&#8220;batteries-included&#8221;<\/em>, oferecendo um amplo conjunto de recursos que os desenvolvedores exigem desde o in\u00edcio. Como todos os componentes necess\u00e1rios est\u00e3o integrados em um \u00fanico pacote, eles operam de forma harmoniosa e mant\u00eam princ\u00edpios de design uniformes.<\/p>\n<h3 class=\"wp-block-heading\">Vers\u00e1til para diferentes aplicativos<\/h3>\n<p>O Django provou sua versatilidade ao servir como base para uma ampla gama de aplicativos da Web, incluindo, entre outros, sistemas de gerenciamento de conte\u00fado, plataformas de com\u00e9rcio eletr\u00f4nico, redes sociais e aplica\u00e7\u00f5es multitenancy. Ele se integra perfeitamente a v\u00e1rios frameworks no lado do cliente.<\/p>\n<p>Oferecendo uma ampla gama de op\u00e7\u00f5es de funcionalidades incorporadas, incluindo suporte a v\u00e1rios bancos de dados populares (MySQL, Postgres, MariaDB etc.) e mecanismos de templates, o Django tamb\u00e9m oferece a flexibilidade de incorporar outros componentes conforme necess\u00e1rio.<\/p>\n<h3 class=\"wp-block-heading\">Aplicativos de seguran\u00e7a integrados<\/h3>\n<p>O Django ajuda os desenvolvedores a evitar erros de seguran\u00e7a comuns ao oferecer um framework meticulosamente projetado para proteger sites automaticamente com as melhores pr\u00e1ticas.<\/p>\n<p>Esse framework incorpora defesas robustas contra amea\u00e7as de seguran\u00e7a predominantes, como ataques XSS (cross-site scripting) e CSRF (cross-site request forgery), inje\u00e7\u00f5es de SQL, clickjacking e muito mais.<\/p>\n<h3 class=\"wp-block-heading\">Feito para escalabilidade\u00a0<\/h3>\n<p>A principal caracter\u00edstica do Django reside na sua escalabilidade inerente. Diferentemente de outros frameworks da Web, o Django foi criado especificamente para gerenciar tr\u00e1fego substancial e grandes volumes de dados desde o in\u00edcio. N\u00e3o importa se voc\u00ea est\u00e1 criando um blog modesto ou uma ampla plataforma de com\u00e9rcio eletr\u00f4nico online, o Django permite que seu aplicativo se expanda e se adapte aos seus requisitos espec\u00edficos.<\/p>\n<h3 class=\"wp-block-heading\">C\u00f3digo f\u00e1cil de manter e reutilizar<\/h3>\n<p>O Django segue o princ\u00edpio &#8220;N\u00e3o se repita&#8221; (DRY, Don\u2019t repeat yourself), incentivando a manuten\u00e7\u00e3o e a reutiliza\u00e7\u00e3o do c\u00f3digo para reduzir sua duplica\u00e7\u00e3o. Ele tamb\u00e9m incentiva a organiza\u00e7\u00e3o de recursos relacionados em &#8220;aplicativos&#8221; reutiliz\u00e1veis e, em um n\u00edvel mais granular, agrupa o c\u00f3digo relacionado em m\u00f3dulos, seguindo uma estrutura que lembra o padr\u00e3o de design MVC (model-view-controller).<\/p>\n<h3 class=\"wp-block-heading\">Implanta\u00e7\u00e3o flex\u00edvel em v\u00e1rias plataformas<\/h3>\n<p>O Django d\u00e1 a liberdade de implantar seus aplicativos em v\u00e1rios sistemas operacionais, como Linux, Windows e macOS, sem ficar confinado a uma plataforma de servidor espec\u00edfica. Al\u00e9m disso, o Django conta com o suporte robusto de v\u00e1rios provedores de hospedagem na Web que frequentemente fornecem infraestrutura personalizada e orienta\u00e7\u00e3o para a hospedagem de sites baseados em Django, como o Fly.io, o AWS LightSail e outros.<\/p>\n<h2 class=\"wp-block-heading\">Como o Django funciona?<\/h2>\n<p>O Django foi projetado para ajudar voc\u00ea a criar sites din\u00e2micos e orientados por dados de forma r\u00e1pida e limpa. Ele faz isso organizando seu c\u00f3digo usando um padr\u00e3o de design espec\u00edfico e cuidando de grande parte da l\u00f3gica repetitiva usada no roteamento de solicita\u00e7\u00f5es, na intera\u00e7\u00e3o com bancos de dados e na gera\u00e7\u00e3o de respostas.<\/p>\n<h3 class=\"wp-block-heading\">A arquitetura MVT (model-view-template) do Django<\/h3>\n<p>O Django segue a arquitetura MVT (model-view-template) (os componentes que exploramos anteriormente), um parente pr\u00f3ximo do padr\u00e3o MVC (model-view-controller), mais conhecido. Embora os dois sejam semelhantes, a terminologia do Django reflete sua abordagem espec\u00edfica.\u00a0<\/p>\n<p>No Django, a &#8220;view&#8221; faz com o que um &#8220;controller&#8221; normalmente faria no MVC (gerenciar a l\u00f3gica e retornar respostas), enquanto o pr\u00f3prio framework cuida de grande parte da funcionalidade do &#8220;controller&#8221; nos bastidores.<\/p>\n<p>Essa separa\u00e7\u00e3o de responsabilidades ajuda a criar aplicativos que s\u00e3o mais f\u00e1ceis de manter, testar e dimensionar. Cada camada tem uma responsabilidade claramente definida, tornando o desenvolvimento mais intuitivo e colaborativo.<\/p>\n<h3 class=\"wp-block-heading\">Como as solicita\u00e7\u00f5es s\u00e3o tratadas no Django<\/h3>\n<p>Quando um usu\u00e1rio interage com o seu site baseado em Django (clicando em um link, enviando um formul\u00e1rio ou navegando at\u00e9 uma URL etc.), uma solicita\u00e7\u00e3o \u00e9 enviada ao servidor. O Django processa essa solicita\u00e7\u00e3o por meio do seguinte ciclo:<\/p>\n<ol>\n<li>O dispatcher de URLs encontra o padr\u00e3o de URL que corresponde \u00e0 requisi\u00e7\u00e3o e direciona para a view correspondente.<\/li>\n<\/ol>\n<ol start=\"2\">\n<li>A view interagir\u00e1 com os modelos se os dados forem necess\u00e1rios, executar\u00e1 qualquer l\u00f3gica de neg\u00f3cios e, em seguida, passar\u00e1 as informa\u00e7\u00f5es para um template.<\/li>\n<\/ol>\n<ol start=\"3\">\n<li>O template renderiza uma p\u00e1gina HTML final, que \u00e9 enviada de volta ao navegador do usu\u00e1rio como resposta.<\/li>\n<\/ol>\n<p>Esse processo claro facilita a compreens\u00e3o e a depura\u00e7\u00e3o de como o aplicativo se comporta em cada est\u00e1gio. Para obter um passo a passo mais detalhado, voc\u00ea pode consultar a <a href=\"https:\/\/docs.djangoproject.com\/en\/5.2\/topics\/http\/\" target=\"_blank\" rel=\"noopener\">documenta\u00e7\u00e3o de solicita\u00e7\u00e3o e resposta<\/a> do Django.<\/p>\n<h2 class=\"wp-block-heading\">Compara\u00e7\u00e3o entre o Django e outros frameworks Python<\/h2>\n<p>O Python oferece uma ampla variedade de frameworks da Web, cada uma adequada a diferentes necessidades de projetos. Embora Django seja uma das escolhas mais populares, ele n\u00e3o \u00e9 a \u00fanica.\u00a0<\/p>\n<p>Aqui est\u00e1 uma r\u00e1pida compara\u00e7\u00e3o entre o Django e outros dois grandes frameworks Python:<\/p>\n<ul>\n<li><strong>Flask<\/strong>: um microframework leve e flex\u00edvel que lhe d\u00e1 controle total sobre sua stack tecnol\u00f3gica. Ideal para projetos menores ou quando voc\u00ea deseja construir tudo do zero. Consulte a <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/11\/django-vs-flask-which-is-the-best-python-web-framework\/\"><strong>compara\u00e7\u00e3o entre o Flask e o Django<\/strong><\/a> em nosso guia detalhado.<\/li>\n<\/ul>\n<ul>\n<li><strong>FastAPI<\/strong>: um framework moderno e de alto desempenho criado para APIs, usando dicas de tipos Python e suporte ass\u00edncrono. Perfeito para criar back-ends r\u00e1pidos e escal\u00e1veis. Nossa postagem no blog <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/12\/django-vs-fastapi-which-is-the-best-python-web-framework\/\"><strong>Django x FastAPI<\/strong><\/a> analisa os dois frameworks com mais detalhes.<\/li>\n<\/ul>\n<p>Para entender melhor como esses tr\u00eas frameworks Python populares se comparam uns aos outros, confira nosso <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2025\/02\/django-flask-fastapi\/\"><strong>guia sobre o melhor framework da Web Python<\/strong><\/a>.\u00a0<\/p>\n<h2 class=\"wp-block-heading\">Tutorial do Django: como configurar seu primeiro projeto Django<\/h2>\n<p>Pronto para come\u00e7ar a programar com o Django? Esse tutorial orientar\u00e1 voc\u00ea pelos passos essenciais para criar e executar seu primeiro projeto Django com o PyCharm: o melhor IDE da categoria para desenvolvimento Django!<\/p>\n<p>Programe mais rapidamente com a assist\u00eancia de c\u00f3digo espec\u00edfica do Django, navega\u00e7\u00e3o e refatora\u00e7\u00e3o em todo o projeto e suporte total para templates Django. Esses passos formam a base de quase todos os aplicativos Django que voc\u00ea criar\u00e1 com o PyCharm.<\/p>\n<h3 class=\"wp-block-heading\">Crie um ambiente virtual<\/h3>\n<p>Antes de instalar o Django, \u00e9 uma boa pr\u00e1tica isolar as depend\u00eancias do seu projeto em um ambiente virtual. Isso evita conflitos entre diferentes projetos Python no seu sistema.<\/p>\n<p><code>python3 -m venv <\/code><\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-577717\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/06\/image-36.png\" alt=\"Crie um ambiente virtual no Python\" width=\"1308\" height=\"364\" \/><\/figure>\n<h3 class=\"wp-block-heading\">Ative o ambiente virtual<\/h3>\n<p>Uma vez ativado, seu terminal dever\u00e1 mostrar o nome do ambiente no in\u00edcio da linha.<\/p>\n<p><code>source \/bin\/activate<\/code><\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-577706\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/06\/image-35.png\" alt=\"Ative o ambiente virtual no Python\" width=\"1308\" height=\"342\" \/><\/figure>\n<h3 class=\"wp-block-heading\">Instale o framework Django<\/h3>\n<p>Agora que seu ambiente est\u00e1 ativado, voc\u00ea pode instalar o Django usando o pip:<\/p>\n<p><code>pip install Django<\/code><\/p>\n<p>Esse comando baixa e instala a vers\u00e3o mais recente do Django a partir do Python Package Index (PyPI). Voc\u00ea pode confirmar a instala\u00e7\u00e3o com:<\/p>\n<p><code>django-admin\u00a0 - - version<\/code><\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-577728\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/06\/image-37.png\" alt=\"Instale o framework Django\" width=\"1312\" height=\"662\" \/><\/figure>\n<h3 class=\"wp-block-heading\">Crie um novo projeto<\/h3>\n<p>Com o Django instalado, voc\u00ea est\u00e1 pronto para criar seu primeiro projeto:<\/p>\n<p><code>django-admin startproject helloworld<\/code><\/p>\n<p>Esse comando gera um diret\u00f3rio <code>helloworld<\/code> contendo a seguinte estrutura:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">helloworld\/\n\u251c\u2500\u2500 manage.py\n\u2514\u2500\u2500 helloworld\/\n    \u251c\u2500\u2500 __init__.py\n    \u251c\u2500\u2500 settings.py\n    \u251c\u2500\u2500 urls.py\n    \u251c\u2500\u2500 asgi.py\n    \u2514\u2500\u2500 wsgi.py<\/pre>\n<p>Veja a seguir o que cada arquivo faz:<\/p>\n<ul>\n<li><code>manage.py<\/code>: uma ferramenta de linha de comando que permite que voc\u00ea interaja com o seu projeto Django (executar servidores, gerenciar bancos de dados etc.).<\/li>\n<\/ul>\n<ul>\n<li><code>settings.py<\/code>: cont\u00e9m toda a configura\u00e7\u00e3o do seu projeto, incluindo configura\u00e7\u00f5es de banco de dados, aplicativos instalados, middleware e muito mais.<\/li>\n<\/ul>\n<ul>\n<li><code>urls.py<\/code>: mapeia URLs para views (mais sobre isso posteriormente).<\/li>\n<\/ul>\n<ul>\n<li><code>wsgi.py<\/code> \/ <code>asgi.py<\/code>: pontos de entrada para servidores da Web compat\u00edveis com WSGI e ASGI, usados para implanta\u00e7\u00e3o.<\/li>\n<\/ul>\n<p>Nesse ponto, voc\u00ea criou uma estrutura de projeto Django funcional.\u00a0<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-577739\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/06\/image-38.png\" alt=\"Crie um novo projeto Django\" width=\"1310\" height=\"408\" \/><\/figure>\n<h3 class=\"wp-block-heading\">Execute seu aplicativo Django<\/h3>\n<p>Para ver seu projeto Django conclu\u00eddo em a\u00e7\u00e3o, navegue at\u00e9 o novo diret\u00f3rio do projeto:<\/p>\n<p><code>cd helloworld<\/code><\/p>\n<p>Agora, execute o servidor de desenvolvimento com:<\/p>\n<p><code>python manage.py runserver<\/code><\/p>\n<p>Voc\u00ea ver\u00e1 um resultado que inclui:\u00a0<\/p>\n<p><code>Starting development server at <a href=\"http:\/\/127.0.0.1:8000\/\" target=\"_blank\" rel=\"noopener\">http:\/\/127.0.0.1:8000\/<\/a><\/code><\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-577750\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/06\/image-39.png\" alt=\"\" width=\"1310\" height=\"816\" \/><\/figure>\n<p>O aplicativo est\u00e1 instalado e executando sem problemas. Agora, v\u00e1 para o navegador da Web e acesse <a href=\"http:\/\/127.0.0.1:8000\" target=\"_blank\" rel=\"noopener\">http:\/\/127.0.0.1:8000<\/a>.<\/p>\n<p>Em seguida, voc\u00ea ver\u00e1 a p\u00e1gina de boas-vindas padr\u00e3o do Django:\u00a0<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-577761\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/06\/image-40.png\" alt=\"\" width=\"1600\" height=\"1419\" \/><\/figure>\n<p>Esse servidor de desenvolvimento integrado \u00e9 \u00f3timo para testes locais. Quando estiver pronto para passar para a produ\u00e7\u00e3o, voc\u00ea dever\u00e1 mudar para uma solu\u00e7\u00e3o mais robusta (por exemplo, Gunicorn ou uWSGI).<\/p>\n<h2 class=\"wp-block-heading\">Criando um aplicativo Django no PyCharm<\/h2>\n<p>Se voc\u00ea ainda n\u00e3o usou o <a href=\"https:\/\/www.jetbrains.com\/pycharm\/web-development\/django\/\" target=\"_blank\" rel=\"noopener\">PyCharm para desenvolvimento Django<\/a>, vale a pena explor\u00e1-lo. O PyCharm oferece suporte imediato para o Django, facilitando o gerenciamento da estrutura do seu projeto, a execu\u00e7\u00e3o do servidor de desenvolvimento e o trabalho com templates, modelos e views do Django, tudo em um poderoso IDE feito sob medida para Python.<\/p>\n<p>Criar um aplicativo Django no PyCharm \u00e9 simples:<\/p>\n<ul>\n<li><strong>Crie ou abra um projeto Django<\/strong>: o PyCharm pode detectar <code>manage.py<\/code> e aplicar automaticamente as configura\u00e7\u00f5es espec\u00edficas do Django.<\/li>\n<\/ul>\n<ul>\n<li><strong>Habilite o suporte ao Django<\/strong>: nas configura\u00e7\u00f5es do projeto, especifique o caminho para o arquivo <code>manage.py<\/code> e a raiz do Django.<\/li>\n<\/ul>\n<ul>\n<li><strong>Crie um novo aplicativo Django<\/strong>: clique com o bot\u00e3o direito do mouse no seu projeto, selecione <em>New | Django App<\/em> e d\u00ea um nome ao seu aplicativo.<\/li>\n<\/ul>\n<ul>\n<li><strong>Execute e teste<\/strong>: use o terminal integrado do PyCharm ou execute as configura\u00e7\u00f5es para iniciar o servidor de desenvolvimento e testar seu aplicativo no navegador.<\/li>\n<\/ul>\n<p>Voc\u00ea tamb\u00e9m se beneficiar\u00e1 de recursos como complementa\u00e7\u00e3o de c\u00f3digo inteligente, realce de sintaxe, verifica\u00e7\u00e3o de erros e suporte a templates, todos otimizados para o desenvolvimento Django.<\/p>\n<h2 class=\"wp-block-heading\">Pr\u00f3ximos passos com Django<\/h2>\n<p>Se voc\u00ea estiver pronto para come\u00e7ar a criar seu pr\u00f3prio projeto, nossos blogs e tutoriais s\u00e3o um \u00f3timo ponto de partida. N\u00e3o importa se voc\u00ea est\u00e1 apenas come\u00e7ando ou quer aprofundar suas habilidades, h\u00e1 muitos recursos para orientar sua jornada:<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/04\/create-a-django-app-in-pycharm\/\"><strong>Crie um aplicativo Django no PyCharm<\/strong><\/a>: fa\u00e7a um tour pela cria\u00e7\u00e3o de um aplicativo Django simples no PyCharm, completo com modelos, templates e integra\u00e7\u00e3o de APIs. Voc\u00ea tamb\u00e9m pode ver isso em a\u00e7\u00e3o no nosso <a href=\"https:\/\/www.youtube.com\/watch?v=rzyGVScRuxU\" target=\"_blank\" rel=\"noopener\"><strong>tutorial no YouTube<\/strong><\/a>.\u00a0<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2024\/01\/how-to-learn-django\/\"><strong>Como aprender Django<\/strong><\/a>: um roteiro para iniciantes com tutoriais e dicas selecionadas para ajudar voc\u00ea a se familiarizar rapidamente com o Django.<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/www.jetbrains.com\/guide\/django\/\" target=\"_blank\" rel=\"noopener\"><strong>Guia para Django da JetBrains<\/strong><\/a>: dicas e conte\u00fado para o desenvolvimento com o Django.<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2024\/04\/django-learning-resources\/\"><strong>Recursos de aprendizado do Django<\/strong><\/a>: uma cole\u00e7\u00e3o selecionada de blogs, v\u00eddeos e tutoriais recomendados.<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2024\/09\/django-project-ideas\/\"><strong>Ideias de projetos Django<\/strong><\/a>: explore ideias de projetos pr\u00e1ticos para aprimorar suas habilidades e aplicar o que voc\u00ea aprendeu de forma significativa.<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2022\/07\/faster-django-queries-with-materialized-views\/\"><strong>Como usar views materializadas no Django<\/strong><\/a> : saiba como otimizar suas consultas com views materializadas e integr\u00e1-las aos seus modelos Django.<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/07\/build-django-apps-on-google-cloud-with-pycharm-and-cloud-code\/\"><strong>Crie aplicativos Django no Google Cloud com PyCharm e Cloud Code<\/strong><\/a>: implante seus aplicativos Django usando Kubernetes e Cloud Code com este guia pr\u00e1tico de implanta\u00e7\u00e3o na nuvem.<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2024\/06\/the-state-of-django\/\"><strong>O panorama do Django<\/strong><\/a>: uma vis\u00e3o geral do crescimento e da ado\u00e7\u00e3o do Django na comunidade de desenvolvimento. Este <a href=\"https:\/\/www.youtube.com\/watch?v=2at9FtNncbc\" target=\"_blank\" rel=\"noopener\"><strong>v\u00eddeo do YouTube<\/strong><\/a> tamb\u00e9m explora as \u00faltimas tend\u00eancias.<\/li>\n<\/ul>\n<p>Para explorar mais, acesse a <a href=\"https:\/\/docs.djangoproject.com\/en\/stable\/\" target=\"_blank\" rel=\"noopener\"><strong>documenta\u00e7\u00e3o oficial do Django<\/strong><\/a> para obter guias detalhados e refer\u00eancias de API, e envolva-se na <a href=\"https:\/\/www.djangoproject.com\/community\/\" target=\"_blank\" rel=\"noopener\"><strong>comunidade do Django<\/strong><\/a>.<\/p>\n<h2 class=\"wp-block-heading\">Baixe o PyCharm: Suporte completo para Django<\/h2>\n<p>Comece a usar o Django de maneira inteligente usando o PyCharm, o IDE criado com suporte completo ao Django pronto para uso.\u00a0<\/p>\n<p>O PyCharm permite que voc\u00ea programe mais rapidamente com a assist\u00eancia de c\u00f3digo espec\u00edfica do Django, navega\u00e7\u00e3o e refatora\u00e7\u00e3o em todo o projeto e suporte total para templates Django. Voc\u00ea pode se conectar com o seu banco de dados com um \u00fanico clique e trabalhar com frameworks de TypeScript, JavaScript e front-end. O PyCharm tamb\u00e9m \u00e9 imediatamente compat\u00edvel com o Flask e o FastAPI.\u00a0<\/p>\n<p>Crie aplicativos melhores e otimize o seu c\u00f3digo. Comece a usar o PyCharm agora mesmo, para ter uma experi\u00eancia de desenvolvimento sem esfor\u00e7o no Django.<\/p>\n<div class=\"buttons\">\n<div class=\"buttons__row\"><a class=\"btn\" href=\"https:\/\/www.jetbrains.com\/pycharm\/download\/\" target=\"\" rel=\"noopener\">Comece a usar o PyCharm Pro gratuitamente<\/a><\/div>\n<\/div>\n\n\n<p><em>Artigo original em ingl\u00eas por:<\/em><br><\/p>\n\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/03\/evgenia-200x200.jpg\" width=\"200\" height=\"200\" alt=\"Evgenia Verbina\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                            <h4>Evgenia Verbina<\/h4>\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":1086,"featured_media":593844,"comment_status":"closed","ping_status":"closed","template":"","categories":[5108,8377],"tags":[963,154],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/pycharm\/593802"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/pycharm"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/types\/pycharm"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/users\/1086"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/comments?post=593802"}],"version-history":[{"count":4,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/pycharm\/593802\/revisions"}],"predecessor-version":[{"id":593857,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/pycharm\/593802\/revisions\/593857"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/media\/593844"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/media?parent=593802"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/categories?post=593802"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/tags?post=593802"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/cross-post-tag?post=593802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}