O objetivo deste projeto é registrar os meus testes, insights e prática obtida com o curso Crie APIs REST com Python e Django REST Framework: Essencial, ministrado pela Geek University.
O código é escrito em Python, utilizando Django REST Framework.
Se trata de uma API RESTful, que manipula dados de cursos e avaliações.
- Python 3.8 ou superior
- Pip
- Virtualenv
Após instalados e configurados os requisitos, siga a leitura.
Para rodar o servidor em modo de produção, você deverá:
- Criar e/ou ativar um ambiente virtual, usando o virtualenv (opcional)
- Instalar as dependências do projeto
- Fazer as migrações
- Rodar o servidor em modo de produção
Instruções abaixo.
A criação do ambiente virtual é opcional, porém recomendado. Ela isola o ambiente real Python e impede que você faça modificações na instalação original, criando uma nova instalação Python. A diferença é que o Python da Virtualenv vem totalmente limpo.
Você pode ignorar estas etapas, por sua conta e risco.
Para criar o ambiente virtual, abra o seu Terminal e digite
$ python3 -m venv <nome-do-ambiente-virtual>
substitituindo nome-do-ambiente-virtual por um nome de sua escolha. Este será o nome dado ao ambiente virtual.
OBS: após executar o comando, o sistema criará uma pasta com o nome que você escolheu no local em que seu shell está sendo executado.
Para ativar o ambiente virtual criado, abra o Terminal na pasta onde o sistema criou a pasta do passo anterior, e digite
$ source <nome-do-ambiente_virtual>/bin/activate
Para que o servidor rode, é preciso instalar as dependências do projeto usando o pip. Para tanto, abra o Terminal, navegue até o diretório do projeto e digite
$ pip install -r requirements.txt
Para que o banco de dados seja criado, é preciso fazer as migrações. Esse processo cria um banco de dados SQLite, usando as especificações dos models. No Terminal, dentro do diretório do projeto, digite
$ python3 manage.py migrate
Após executado o comando, o sistema criará um arquivo de banco da dados chamado db.sqiite3 na raíz do projeto.
Com o Terminal aberto no diretório do projeto, digite
$ python3 manage.py runserver