Curso Django 2.1 - 01. Introducción e instalación de requisitos
Download the next link https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
pip install virtualenv
Curso Django 2.1 - 02. Introducción e instalación de requisitos
virtualenv demo-env
Activate enviroment demo-env
source demo-env/bin/activate
Deactivate enviroment demo-env
deactivate
pip install django
pip freeze
django-admin.py startproject demo
python3 manage.py runserver
Curso Django 2.1 - 03. Admin y primeras migraciones
python3 manage.py migrate
To access in login page
python3 manage.py createsuperuser
Curso Django 2.1 - 04. Settings
Project settings can change depending by server purpose (dev, stage or production) Because of that, it is a good practice to create a setting file for each purpose inside a setting directory First ensure you create a settings directory with dev.py, prod.py, base.py, _init_.py and stage.py
project-directory/
settings/
__init__.py
base.py
dev.py
prod.py
stage.py\
Run project with particular setting
python3 manage.py runserver --settings=projectdirectoryname.settings.dev
Curso Django 2.1 - 05. Creación de aplicación y primera vista
Run it from created apps directory
django-admin.py startapp main
# Create env
python -m venv envname
# Activate env
source envname/bin/activate
apps is the directory and main is an app inside apps directory. views is the file inside main directory
from apps.main import views
dir(object)
from django.http import HttpResponse
...
new HttpResponse("Hello World")
Crear un API REST con Django Rest Framework - Parte I
./manage.py shell
from series.models import Serie
from series.serializers import SerieSerializer
from rest_framework.renderers import JSONRenderer
from rest_framework.parsers import JSONParser
from datetime import datetime
'''
Create data
'''
release_date = datetime.strptime('17-04-2011', '%d-%m-%Y').date()
serie = Serie(name='Game of Thrones', category='drama', release_date=release_date)
serie.save()
release_date = datetime.strptime('24-06-2015', '%d-%m-%Y').date()
serie = Serie(name='Mr. Robot', category='drama', release_date=release_date)
serie.save()
'''
Print data as dictionary (a python native data type)
'''
serializer = SerieSerializer(serie)
serializer.data
>{'category': 'drama',
'name': u'Mr. Robot',
'pk': 2,
'rating': 0,
'release_date': '2015-06-24'}
'''
Turn data to json from dictionary
'''
content = JSONRenderer().render(serializer.data)
content
> '{"pk":2,"name":"Mr. Robot","release_date":"2015-06-24","rating":0,"category":"drama"}'
'''
Turn back to dictionary from json
'''
from django.utils.six import BytesIO
stream = BytesIO(content)
data = JSONParser().parse(stream)
data