Criando um projeto

Qualquer dúvida, consulte o exemplo presente nesse repositório do github: https://github.com/DaniloSI/tutorial-angular-e-django-gitbook

Para saber mais sobre APIs do Django, consulte esse link https://docs.djangoproject.com/en/1.9/

Até aqui está tudo preparado para criarmos nosso projeto e em seguida as aplicações. Nessa etapa, você verá que o Django é um framework muito poderoso e simples de usar.

Para criar um projeto, esteja com o terminal aberto no diretório (ou na pasta) do projeto. Deve ser a pasta que você instalou o ambiente virtual e o Django.

Agora, siga o passo a passo abaixo:

  • Digite o seguinte comando (aqui usaremos o nome do projeto como catalogo_de_carros como exemplo):
~/Project$ django-admin startproject catalogo_de_carros
  • Em seguida, digite:
~/Project$ ls
meuAmbienteVirtual  catalogo_de_carros
  • Esse comando lista os arquivos e pastas contidos em seu diretório atual. Se o seu projeto apareceu, está tudo certo. Então, entre na pasta do seu projeto:
~/Project$ cd catalogo_de_carros
~/Project/catalogo_de_carros$
  • Se digitarmos novamente o comando "ls", veremos o seguinte:
~/Project/catalogo_de_carros$ ls
manage.py  catalogo_de_carros

O manage.py é um script que possibilita iniciar localmente o servidor web que criamos, criar o banco de dados de forma simples, criar um super usuário (tem permissão de gerenciar o site e outros usuários) e outros.

A pasta catalogo_de_carros possui quatro arquivos. São eles:

__init__.py
settings.py
urls.py
wsgi.py

Não vamos focar nesse momento nos arquivos __ini__.py e wsgi.py.

O arquivo settings.py serve para configurarmos nosso projeto. Abra-o usando o editor de sua preferência.

Desça até o final do arquivo fonte e, em LANGUAGE_CODE = 'en-us', mude para LANGUAGE_CODE = 'pt-br', se preferir. Também pode alterar TIME_ZONE = 'UTC' para TIME_ZONE = 'America/Sao_Paulo', se preferir.

Nosso projeto terá arquivos estáticos como páginas HTML, CSS e JavaScript. Então, logo baixo de STATIC_URL = '/static/', adicione o seguinte código:

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

Instalando um banco de dados

O mais incrível que eu, pessoalmente, achei do Django, é que ele abstrai a linguagem de banco de dados. Isso mesmo! O Django tem seus próprios comandos para criar tabelas e acessá-las no banco de dados genérico.

O Django dá suporte a vários bancos de dados diferentes. Por padrão, ao criar um projeto, já vem configurado em settings.py o uso do sqlite3. Você pode conferir isso nesse mesmo arquivo settings.py em:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }

Para criar nosso banco de dados, salve e feche o arquivo settings.py. Em seguida, abra o terminal na pasta do projeto que possui o arquivo manage.py. Digite o seguinte comando:

~/Project/catalogo_de_carros$ python3 manage.py migrate

Em seguida, deverá aparecer a seguinte mensagem:

Operations to perform:
  Apply all migrations: contenttypes, admin, auth, sessions
Running migrations:
  Rendering model states... DONE
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying sessions.0001_initial... OK

O banco de dados está criado! Agora podemos criar um super usuário.

Criando um super usuário

Para criar um super usuário, digite o seguinte comando:

~/Project/catalogo_de_carros$ python3 manage.py createsuperuser

Em seguida, preencha os campos:

Username (leave blank to use 'home'): admin
Email address: [email protected]
Password: 
Password (again): 
Superuser created successfully.

Iniciando o servidor web localmente

Já criamos nosso projeto e configuramos. Está tudo pronto para iniciá-lo. Para isso, abra o terminal no diretório que tenha o arquivo manage.py e, em seguida, digite o seguinte comando:

~/Project/catalogo_de_carros$ python3 manage.py runserver

Pronto! Agora você pode abrir o navegador e digitar o endereço: http://127.0.0.1:8000/

Pode também entrar na página de administrador do sistema. Basta digitar: http://127.0.0.1:8000/admin