Django é uma estrutura baseada em Python que permite que você crie sites de forma rápida e fácil. Este tutorial irá demonstrar como instalar e configurar o Django em uma hospedagem compartilhada Linux.
Depois de concluir o tutorial a seguir, você terá um site Django funcionando em sua conta, no qual:
- Carrega uma página inicial estática para o domínio.
- Carrega a interface de administração do Django.
- Utiliza um banco de dados SQLite.
Atenção: Você pode utilizar esse tutorial como um ponto de partida para seus próprios projetos Django, mas a UniversoNet não pode ajudá-lo a solucionar problemas ou depurar quaisquer configurações personalizadas.
1º Etapa - Criar um aplicativo Python dentro do painel de controle da sua hospedagem.
2. Dentro do seu painel clique em Plugins e extras depois em Configurar Phyton em seguida CRIAR APLICAÇÃO.
3. Preencha os campos, veja o exemplo abaixo:
Python version, selecione 3.8.6
No momento que criamos esse tutorial essa era a ultima versão do Python em nosso sistema, sempre utilize a ultima versão para novos projetos.
Raiz do aplicativo
Será o nome do diretório da sua aplicação, não utilize caracteres especial ou acentuação. Carregue seus arquivos nessa pasta.
URL do aplicativo , selecione o domínio.
Deixe em branco para utilizar a URL raiz. Exemplo: dominio.com.br/
Arquivo de Inicialização do Aplicativo e Application Entry Point
Deixe em branco para o sistema criar um arquivo padrão. Quando essas caixas de texto estiver em branco, o Painel cria automaticamente um arquivo de inicialização passageiro_wsgi.py e um objeto de aplicativo padrão que será criado dentro da sua pasta raiz.
Passenger log file
você pode opcionalmente especificar um arquivo de log para o aplicativo.
4. No canto superior direito da página, clique em CRIAR:
O painel cria o aplicativo e configura o ambiente Python.
Ambiente configurado com sucesso.
Observe que em destaque vermelho se encontra o Path físico do diretório onde foi configurado para rodar sua aplicação.
Após o painel criar sua aplicação você deverá ter um ambiente funcional para rodar Phyton, faça um teste acessando a URL da aplicação e veja se tem uma pagina de exemplo igual a imagem abaixo:
Obs. Caso ainda esteja carregando sua index anterior ou uma pagina em construção você deverá renomear pois ela tem prioridade ao carregar a pagina inicial. Após renomear aperte algumas vezes F5 para atualizar a pagina.
Pronto ! Até essa etapa você já tem um ambiente Python configurado.
2º Etapa - Instalar e Configurar o projeto Django
Depois de criar o aplicativo Python no painel de controle, você estará pronto para realizar as seguintes tarefas na linha de comando:
- Instalar o Django.
- Criar e configurar o projeto Django.
- Configure o Passenger para trabalhar com o projeto Django
Para fazer isso, siga estas etapas:
1. Faça login em sua conta usando SSH
Importante: Nos planos de hospedagem compartilhada Linux o acesso via SSH é permitido somente através de chave, esse procedimento e para garantir uma maior segurança para nossos servidores e sua hospedagem.
2. Ative o ambiente virtual, usando o comando disponível na 1º etapa, passo 4 logo acima.
Esse comando fica dentro das configurações do ambiente Python.
Veja o exemplo abaixo:
Obs. Troque username por seu usuário, e myapp pela pasta que você definiu no seu ambiente Python.
source /home/username/virtualenv/myapp/3.8/bin/activate && cd /home/username/myapp
O prompt de comando agora começa com (myapp:3.8) para indicar que você está trabalhando no ambiente virtual myapp com Python 3.8. Todos os comandos a seguir neste artigo presumem que você está trabalhando no ambiente virtual Python. Se você efetuar logout de sua sessão SSH (ou desativar o ambiente virtual usando o comando deactivate), certifique-se de reativar o ambiente virtual antes de seguir qualquer uma das etapas abaixo.
3. Para instalar a última versão do Django, inicie este comando por meio do shell remoto SSH:
pip install django
Para verificar a versão do Django que está instalada, digite o seguinte comando:
django-admin --version
4. Para criar um projeto Django, digite o seguinte comando:
django-admin startproject myapp ~/myapp
5. Para criar diretórios para os arquivos de projeto estáticos, digite os seguintes comandos:
mkdir -p ~/myapp/templates/static_pages
mkdir ~/myapp/static_files
mkdir ~/myapp/static_media
6. Use um editor de texto para abrir o arquivo ~/myapp/myapp/settings.py e faça as seguintes alterações:
Dependendo da versão do django precisamos acrescentar a biblioteca import os no arquivo ~/myapp/myapp/settings.py
import os
from pathlib import Path
Localize a linha ALLOWED_HOSTS e modifique-a da seguinte maneira. Substituir [example.com] para seu próprio nome de domínio:
ALLOWED_HOSTS = ['example.com']
Localize o bloco TEMPLATES e modifique-o da seguinte maneira:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
Localize a linha STATIC_URL e adicione as seguintes linhas abaixo dela:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static_files')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, "static_media")
7. Use um editor de texto para abrir o arquivo ~/myapp/myapp/urls.py
Exclua todo o texto existente e copie o seguinte texto para o arquivo:
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from django.conf.urls import url
from django.views.generic.base import TemplateView
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^$', TemplateView.as_view(template_name='static_pages/index.html'), name='home'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
8. Use um editor de texto para abrir o arquivo ~/myapp/passenger_wsgi.py
Exclua todo o texto existente e copie o seguinte texto para o arquivo:
import os
import sys
import django.core.handlers.wsgi
from django.core.wsgi import get_wsgi_application
# Set up paths and environment variables
sys.path.append(os.getcwd())
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
# Set script name for the PATH_INFO fix below
# SCRIPT_NAME = ''
SCRIPT_NAME = os.getcwd()
class PassengerPathInfoFix(object):
"""
Sets PATH_INFO from REQUEST_URI because Passenger doesn't provide it.
"""
def __init__(self, app):
self.app = app
def __call__(self, environ, start_response):
from urllib.parse import unquote
environ['SCRIPT_NAME'] = SCRIPT_NAME
request_uri = unquote(environ['REQUEST_URI'])
script_name = unquote(environ.get('SCRIPT_NAME', ''))
offset = request_uri.startswith(script_name) and len(environ['SCRIPT_NAME']) or 0
environ['PATH_INFO'] = request_uri[offset:].split('?', 1)[0]
return self.app(environ, start_response)
# Set the application
application = get_wsgi_application()
application = PassengerPathInfoFix(application)
9. Use um editor de texto para criar um arquivo index.html básico no diretório ~/myapp/templates/static_pages
O arquivo pode ser tão simples quanto um arquivo de texto que diz "Hello world".
10. Precisamos criar migrações django, digite o seguinte comando:
python ~/myapp/manage.py migrate
11. Criar banco de dados padrão (SQLite) e superusuário:
python ~/myapp/manage.py createsuperuser
- Nome do usuário prompt, digite o nome de usuário do administrador e pressione Enter.
- Endereço de e-mail prompt, digite o endereço de e-mail do administrador e pressione Enter.
- Senha prompt, digite a senha do administrador e pressione Enter.
12. Digite o seguinte comando para coletar os arquivos estáticos:
python ~/myapp/manage.py collectstatic
No painel de controle, reinicie o aplicativo Python:
- No painel da sua hospedagem acesse Recursos Extra depois clique em Configurar Python .
- Sob APLICATIVOS WEB, localize o aplicativo myapp e, em seguida, clique no ícone Reiniciar.
Teste o site Django:
- Use seu navegador para ir para http://www.example.com, Onde example.com representa o seu nome de domínio.
- O arquivo index.html deve carregar.
- Use seu navegador para ir para http://www.example.com/admin , onde example.com representa o seu nome de domínio.
- Você deve ver a página de login de administração do Django. Para fazer login, use as credenciais de superusuário que você criou anteriormente.
Pronto ! Temos uma aplicação em ambiente Python rodando.