Skip to content

Instantly share code, notes, and snippets.

@jorwan
Last active July 23, 2019 15:31
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jorwan/066d966fe5a6b4a31442d3c598ee8302 to your computer and use it in GitHub Desktop.
Save jorwan/066d966fe5a6b4a31442d3c598ee8302 to your computer and use it in GitHub Desktop.
Python Notes

Python Notes

Source

Curso Django 2.1 - 01. Introducción e instalación de requisitos

Install pip (python package manager)

Download the next link https://bootstrap.pypa.io/get-pip.py

python3 get-pip.py

Install virtualenv

pip install virtualenv

Source

Curso Django 2.1 - 02. Introducción e instalación de requisitos

Creat new virtual env

virtualenv demo-env

Activate enviroment demo-env

source demo-env/bin/activate

Deactivate enviroment demo-env

deactivate

Install django using pip

pip install django

Check if django was installed

pip freeze

Create django project

django-admin.py startproject demo

Run django project

python3 manage.py runserver

Source

Curso Django 2.1 - 03. Admin y primeras migraciones

Run Migrations

python3 manage.py migrate

Create Super User

To access in login page

python3 manage.py createsuperuser

Source

Curso Django 2.1 - 04. Settings

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

Source

Curso Django 2.1 - 05. Creación de aplicación y primera vista

Create project app

Run it from created apps directory

django-admin.py startapp main

Set python env

# Create env
python -m venv envname
# Activate env
source envname/bin/activate

Import views in urls file

apps is the directory and main is an app inside apps directory. views is the file inside main directory

from apps.main import views

Show usable properties from an object

dir(object)

Use HttpResponse Object

from django.http import HttpResponse
...
new HttpResponse("Hello World")

Source

Crear un API REST con Django Rest Framework - Parte I

Open Shell

./manage.py shell

Test Models and Serializers From 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


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment