3
respostas

NADA FUNCIONA

PELO AMOR DE DEUS ALGUEM ME AJUDA, estou uma semana nessa porcaria de django e não consigo mudar a lingua para portugues nao importa o que eu faça e não consigo colocar o html na pagina para imprimir a mensagem aqui tá o repositorio com o codigo

https://github.com/Cruzinho22/me-_ajuda

POR FAVOR ME AJUDEM JA ESTOU FICANDO LOUCO

3 respostas

Oi Luccas, tudo bem?

Analisando o código que você disponibilizado no repositório que você compartilhou, notei que você não adicionou algumas das configurações necessárias para mostrar informações via HTML.

A seguir mostro como você pode fazer isso, mas primeiro, vamos começar pela mudança de idioma para português e depois ver como exibir a mensagem no HTML.

  1. Mudança de Idioma para Português

    • Configuração do Django: no arquivo settings.py, verifique se você tem as seguintes configurações:

      LANGUAGE_CODE = 'pt-br'
      TIME_ZONE = 'America/Sao_Paulo'
      USE_I18N = True
      USE_L10N = True
      USE_TZ = True
      
    • Middleware: verifique se o middleware de internacionalização está ativado no settings.py:

      MIDDLEWARE = [
          'django.middleware.locale.LocaleMiddleware',
      ]
      
  2. Exibir Mensagem no HTML

    • Criação da View: no seu arquivo views.py, crie uma view que passe a mensagem para o template:

       from django.shortcuts import render
      
       def minha_view(request):
           mensagem = "Olá, esta é a mensagem que você quer exibir!"
           return render(request, 'meu_template.html', {'mensagem': mensagem})
      
    • Configuração da URL: agora no arquivo urls.py, adicione a URL para a view:

      from django.urls import path
      from . import views
      
      urlpatterns = [
          path('minha-url/', views.minha_view, name='minha_view'),
      ]
      
    • Template HTML: Por fim, no seu template meu_template.html, adicione o código para exibir a mensagem:

      <!DOCTYPE html>
      <html lang="pt-br">
      <head>
          <meta charset="UTF-8">
          <title>Minha Página</title>
      </head>
      <body>
          <h1>{{ mensagem }}</h1>
      </body>
      </html>
      

Após seguir esses passos, acesse a URL configurada (/minha-url/) e veja se a mensagem está sendo exibida corretamente.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Não me ajudou em nada, perdão qualquer ignorancia minha. Mas to nessa merda já faz um mes e absolutamente nada que tento esse fdp do django responde. Fiz de tudo para ver se ele mudava de lingua de inglês para português e não consegui fazer aparecer nenhum texto HTML

Bom dia, Luccas!

Sei o quão frustrante pode ser quando não conseguimos fazer algo e não tem problema não ter conseguido modificar o código. Vou te ajudar, acompanhe comigo.

Idioma em inglês

Print da tela padrão do Django ao iniciar o projeto

Ao rodar seu projeto do github, me deparei com a tela acima, que nada mais é do que a padrão do Django, que é a tela que vemos ao iniciar um projeto Django pela primeira vez, sem antes adicionar rotas e criar templates personalizados. Por padrão, essa página está em inglês, e, além disso, essa página não possui um HTML para ser modificado, porque já vem do próprio framework é apenas uma tela informacional. Então, não se preocupe com a mensagem em inglês ao executar seu código.

Código HTML

Você pode criar uma nova página HTML e nela você pode aplicar o estilo e adicionar o texto na linguagem que bem entender, pois a linguagem não será alterada com base no idioma padrão do Django. Para exemplificar como você pode fazer isso, usei o seu projeto atual como base inicial.

  1. Vamos começar pelo arquivo "settings.py" que está na pasta "setup", nele você precisa adicionar duas configurações, a primeira é adicionar o app "galeria" que você criou, e a segunda é o caminho para acessar os arquivos de template/páginas HTML.

    Procure a lista INSTALLED_APPS e ao fim dela adicione o app galeria entre aspas simples. Ficará assim:

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

    No começo do arquivo settings.py adicione mais uma biblioteca na importação do pathlib, a biblioteca os:

    from pathlib import Path, os
    

    Por fim, procure a lista TEMPLATES e adicione o caminho para acessar a pasta de templates que ainda iremos criar. Essa pasta é onde ficam nossos arquivos HTML. Obs: A pasta levará o nome 'templates' com S no final, logo o caminho deve ficar assim:

    TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        # Restante do código omitido...
    }
    ]
    
  2. Agora, no mesmo nível das pastas (caso não entenda o que significa "mesmo nível" deixarei uma imagem antes do código para direcionar) "galeria" e "setup" cria a pasta "templates" e dentro dela crie um arquivo HTML com o nome index.html e adicione códigos básicos de HTML para exibição de mensagens, por exemplo:

    Print de demonstração em qual nível a pasta templates deve ser criada

    <!DOCTYPE html>
    <html lang="pt-br">
    <head>
        <meta charset="UTF-8">
        <title>Minha Página</title>
    </head>
    <body>
        <h1>Olá tudo bem?</h1>
    </body>
    </html>
    
  3. Agora vamos fazer a função que carregará esse arquivo para alguma rota do Django para ser exibida no seu navegador. No arquivo views.py dentro da pasta "galeira" adicione o seguinte código que irá carregar toda a página HTML que criamos na pasta "templates".

    from django.shortcuts import render
    
    def index(request):
        return render(request, 'pagina.html')
    

    Agora no arquivo urls.py também dentro da pasta "galeria" adicione o seguinte código que irá criar uma rota para o método que carrega a página HTML.

    from django.urls import path
    from galeria.views import index
    
    urlpatterns = [
    path('', index)
    ]
    

    Para finalizar, no arquivo urls.py, agora da pasta "setup" adicione o seguinte código para a rota ficar visível para o projeto Django:

    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', include('galeria.urls'))
    ]
    

Ao finalizar todas essas configurações rode o comando python manage.py migrate para realizar as migrações necessárias do app "galeria" que você havia criado, e por fim, quando você rodar o comando python manage.py runserver deve abrir uma página com a mensagem "Olá tudo bem?" que está presente no template HTML.

Print da página carregada ao abrir o link do projeto Django

A ótima notícia é que eu já fiz todas essas modificações que comentei acima e você pode conferir no repositório abaixo, onde poderá baixar o projeto e testar quantas vezes quiser:

Lembrando que para baixar esse projeto, clique em Download Zip, faça a descompactação da pasta, abra o projeto no Visual Studio Code e execute com o comando python manage.py runserver.

Fico à disposição.