> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.squarecloud.app/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Como hospedar Django na Square Cloud (passo a passo)

Procurando **onde hospedar sua aplicação Django** ou qual o **melhor jeito de colocar um app Django online**? Este guia mostra o passo a passo para hospedar Django na Square Cloud — do `settings.py` (ALLOWED_HOSTS) ao deploy com Gunicorn, rodando 24/7.

1. Pré-requisitos
* **Conta na Square Cloud:** Crie sua conta via [Página de Registro](https://squarecloud.app/pt-br/signup) (E-mail ou GitHub).
* **Plano Ativo:** É necessário um plano pago para realizar a hospedagem. Confira os [preços aqui](https://squarecloud.app/pt-br/pricing).

---

## 2. Configurações de Produção (settings.py)

Antes de realizar o deploy, você precisa ajustar o arquivo `settings.py` do seu projeto Django para permitir o tráfego da Square Cloud:

* **ALLOWED_HOSTS:** Adicione o subdomínio que você pretende usar e o domínio da Square Cloud.
```python
  ALLOWED_HOSTS = ['seusubdominio.squareweb.app', 'seudominio.com', 'localhost', '127.0.0.1']
```
* **DEBUG:** Para produção, lembre-se de definir `DEBUG = False`.
* **Arquivos Estáticos:** Certifique-se de configurar o `STATIC_ROOT` para que o Django saiba onde reunir os arquivos estáticos.

---

## 3. Realizando o Deploy

1.  **Limpeza:** Remova pastas desnecessárias como `venv/`, `.git/`, e arquivos de cache `__pycache__`.
2.  **Compactação:** Crie um arquivo `.zip` contendo a raiz do projeto (onde fica o arquivo `manage.py`). O `requirements.txt` deve estar na raiz do projeto e contendo ao menos:
```text
  Django
  gunicorn
```
3.  **Upload:** No Dashboard da Square Cloud, clique em enviar nova aplicação.
4.  **Publicação Web:** No menu de envio, marque a opção **"Publicar na Web"**.
5.  **Subdomínio:** Defina o subdomínio desejado (ex: `meuprojeto.squareweb.app`).
6.  **Comando de Início Personalizado:** Para que sua aplicação Django execute em produção, você deve configurar o comando de início para utilizar o Gunicorn na porta **80**. No momento do envio ou no arquivo `squarecloud.app`, utilize:
```bash
python -m gunicorn --bind 0.0.0.0:80 seu_projeto.wsgi:application
```
* **`--bind 0.0.0.0:80`**: Vincula a aplicação à interface e porta exigidas pela Square Cloud.
* **`seu_projeto.wsgi:application`**: Substitua `seu_projeto` pelo nome da pasta que contém o arquivo `wsgi.py`.

---

## 4. Domínios Personalizados (Plano Standard+)

Se você possui um plano **Standard ou superior**, você pode utilizar seu próprio domínio:
* Configure o domínio (ex: `www.meusite.com`) na aba **Network**.
* O **SSL (HTTPS)** é configurado e renovado automaticamente pela Square Cloud, sem custo adicional.

---

## 5. Dicas de Otimização e Segurança

* **Static Files:** No Django, lembre-se de rodar o comando "python manage.py collectstatic" ou configurar o Gunicorn/Middleware (como o WhiteNoise) para servir arquivos estáticos em produção.
* **Variáveis de Ambiente:** Utilize a aba **ENV** do Dashboard para esconder sua `SECRET_KEY` e credenciais de banco de dados. Nunca deixe senhas expostas no código enviado ao repositório ou dashboard.
* **Banco de Dados:** Para produção, utilize instâncias de **PostgreSQL** ou **MySQL** disponíveis na Square Cloud, evitando o uso de SQLite em aplicações que exigem escalabilidade.