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 Recursos Extra 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 para você.
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.