{"id":14972585,"url":"https://github.com/Django-Dev-Br/007-Django5-Custom-404-Error-Page","last_synced_at":"2025-10-01T21:31:03.950Z","repository":{"id":254659240,"uuid":"847184217","full_name":"Django-Dev-Br/007-Django5-Custom-404-Error-Page","owner":"Django-Dev-Br","description":"Adicionando uma página de erro 404 customizada a um App de um projeto Django","archived":true,"fork":false,"pushed_at":"2024-10-08T17:50:38.000Z","size":43,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-17T18:25:13.007Z","etag":null,"topics":["404","404-error-page","404-errors","404-not-found","404-page","404-pages","404-template","django","django-application","django-framework","django-project"],"latest_commit_sha":null,"homepage":"https://www.django.dev.br","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Django-Dev-Br.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-25T05:05:03.000Z","updated_at":"2024-10-08T17:51:06.000Z","dependencies_parsed_at":"2024-08-25T06:29:23.890Z","dependency_job_id":"3e689636-a38c-483f-a517-5a6e46b1d57a","html_url":"https://github.com/Django-Dev-Br/007-Django5-Custom-404-Error-Page","commit_stats":null,"previous_names":["django-dev-br/007-django-4-custom-404-error-page","django-dev-br/007-django5-custom-404-error-page"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Django-Dev-Br%2F007-Django5-Custom-404-Error-Page","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Django-Dev-Br%2F007-Django5-Custom-404-Error-Page/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Django-Dev-Br%2F007-Django5-Custom-404-Error-Page/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Django-Dev-Br%2F007-Django5-Custom-404-Error-Page/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Django-Dev-Br","download_url":"https://codeload.github.com/Django-Dev-Br/007-Django5-Custom-404-Error-Page/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234902725,"owners_count":18904521,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["404","404-error-page","404-errors","404-not-found","404-page","404-pages","404-template","django","django-application","django-framework","django-project"],"created_at":"2024-09-24T13:47:10.165Z","updated_at":"2025-10-01T21:31:03.605Z","avatar_url":"https://github.com/Django-Dev-Br.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# 007 Django 4 Custom 404 Error Page\n\n### O que é uma Página de Erro 404 Personalizada?\n\nUma página de erro 404 personalizada melhora a experiência do usuário ao fornecer uma mensagem clara e útil quando uma página não é encontrada. No Django, você pode criar uma página de erro 404 personalizada simplesmente adicionando um arquivo `404.html` no diretório de templates e ajustando as configurações para servir esta página.\n\n## COMO RODAR ESSE PROJETO EM SEU COMPUTADOR:\n\n### Requisitos\n\n- **Python 3.12 com PIP e venv**\n- **o Django 5 requer Python 3.10 ou superior.**\n\n- **No [repositório 001](https://github.com/Django-Dev-Br/001-django4-basic-project) há explicações sobre PIP e venv**\n  \n  [Baixar Python 3.12](https://www.python.org/downloads/release/python-3122/)\n\n   Confira o vídeo para saber como trabalhar com múltiplas versões do Python e com venv (ambiente virtual):\n  [![Watch the video](https://img.youtube.com/vi/eetDeQrv0Rs/0.jpg)](https://youtu.be/eetDeQrv0Rs)\n\n\n### 7 passos simples para executar\n\n1. **Clone o repositório**:\n    ```bash\n    git clone https://github.com/Django-Dev-Br/007-Django5-Custom-404-Error-Page.git\n    ```\n\n2. **Crie um ambiente virtual**:\n   \n    **Windows**\n    ```bash\n     python -m venv myvenv  \n    ```\n   **Linux**\n    ```bash\n     python3 -m venv myvenv  \n    ```\n\n3. **Ative o ambiente virtual criado**:\n   \n    **Windows**\n    ```bash\n    myvenv\\Scripts\\activate  \n    ```\n\n   **Linux**\n    ```bash\n    source myvenv/bin/activate  \n    ```\n    \n4. **Acesse a pasta do repositório**:\n    ```bash\n    cd 007-Django5-Custom-404-Error-Page\n    ```\n    \n5. **Instale o Django**:\n\n   Fazer a instalação após a ativação da virtual env fará com que a instalação seja feita nessa pasta ao invés do computador. Isso significa que o pacote Django não estará disponivel para todos os usuários do computador, mas apenas para o contexto no qual essa venv esteja ativada. Veremos sua ativação logo abaixo.\n\n    **Instalação manualmente via gerenciador de dependências PIP**\n    ```bash\n    pip install django\n    ```\n    - use, preferencialmente, a versão 5.1. Para tanto, execute o comando:\n\n     ```bash\n    pip install  \"django\u003e=5.1,\u003c=5.2\"\n    ```\n\n    ----- **OU** -----\n\n    **Instalação via arquivo requirements**\n    ```bash\n    pip install -r requirements.txt\n    ```\n    O arquivo requirements.txt é um arquivo de texto que contém uma lista de pacotes a ser instalado em uma venv. É uma boa prática de programação do ecossistema Python.\n\n    \n6. **Configurar uma Página de Erro 404 Personalizada**:\n\n    - Crie uma pasta chamada templates em seu App Django\n    - Crie um arquivo chamado `404.html` dentro da pasta supracitada.\n    - Adicione o seguinte conteúdo ao arquivo `404.html`:\n\n    ```html\n    \u003c!-- 404.html --\u003e\n    \u003c!DOCTYPE html\u003e\n    \u003chtml\u003e\n    \u003chead\u003e\n        \u003ctitle\u003ePágina Não Encontrada\u003c/title\u003e\n    \u003c/head\u003e\n    \u003cbody\u003e\n        \u003ch1\u003eErro 404\u003c/h1\u003e\n        \u003cp\u003eDesculpe, a página que você está procurando não foi encontrada.\u003c/p\u003e\n    \u003c/body\u003e\n    \u003c/html\u003e\n    ```\n\n    - Certifique-se de que seu `settings.py` inclua a configuração para usar a página de erro 404 personalizada:\n\n    ```python\n    # settings.py\n    DEBUG = False # mostra a página de erro ao invés da página de DEBUG\n    ALLOWED_HOSTS = ['*']  # Obs: Essa configuração é apenas para o ambiente local de desenvolvimento.\n    ```\n\n7. **Execute o servidor de desenvolvimento**:\n    ```bash\n    python manage.py runserver\n    ```\n\n### Testando a Página de Erro 404\n\n- Acesse uma URL inexistente no seu navegador, por exemplo: [http://127.0.0.1:8000/nao-existe](http://127.0.0.1:8000/nao-existe)\n- Você verá a página de erro 404 personalizada que você configurou.\n\n\n### Estrutura de Diretórios do Projeto\n\n```\n007-django5-custom-404-error-page/\n├── myproject/\n│   ├── __init__.py      # Marca o diretório como um pacote Python\n│   ├── asgi.py          # Configurações para o servidor ASGI (usado para aplicações assíncronas)\n│   ├── settings.py      # Configurações do projeto (incluindo ALLOWED_HOSTS e DEBUG)\n│   ├── urls.py          # Mapeamento de requisições HTTP e redirecionamento para os templates HTML\n│   └── wsgi.py          # Configurações para o servidor WSGI (usado para servir a aplicação)\n├── myapp/\n│   ├── __init__.py      # Marca o diretório como um pacote Python\n│   ├── apps.py          # Configurações do app\n│   ├── views.py         # Funções de view para o app\n│   └── templates/\n│       └── 404.html     # Página de erro 404 personalizada\n└── manage.py            # CLI do Django, um script de linha de comando para tarefas administrativas do Django\n└── requirements.txt    # Lista de pacotes Python necessários para o projeto\n```\n\n### Sobre Nosso Treinamento Prático-Profissional com projeto real para iniciantes e avançados em web DevOps Full-stack com Python, Django, Bootstrap e Linux.\n\n[Django Developers Brasil - Aprenda programando enquanto programa aprendendo!](https://django.dev.br/)\n\nNosso treinamento oferece uma experiência prática de aprendizado de programação, adequada tanto para iniciantes quanto para desenvolvedores avançados. Você participará de um projeto real de desenvolvimento de software em um ambiente corporativo autêntico, onde pessoas com diferentes níveis de conhecimento irão colaborar, aprendendo umas com as outras.\n\n**Junte-se a nós!** E desenvolva as habilidades necessárias para o mercado de trabalho, aprimorando tanto seus conhecimentos técnicos quanto suas soft skills em um ambiente colaborativo e realista.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDjango-Dev-Br%2F007-Django5-Custom-404-Error-Page","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDjango-Dev-Br%2F007-Django5-Custom-404-Error-Page","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDjango-Dev-Br%2F007-Django5-Custom-404-Error-Page/lists"}