/Python-Django

🦄 Learn to program web applications with the most popular Python framework, Django. In this course we introduce you to the framework and show you its main characteristics. 🐍

MIT LicenseMIT

Framework | Learn Django - Rest framework

The web framework for perfectionists with deadlines

Stars Forks

Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. Thanks for checking it out. - Django Github

Instalar Django

www.djangoproject.com

Tabla de Contenidos

Numeration Check Topic Quantization Edit Gitpot Downloads link
002 ✔️ Instalador 💾 ⬅️ Atras
003 ✔️ Modelo Vista Controlador 💾 ⬅️ Atras
003 ✔️ Características 💾 ⬅️ Atras
004 ✔️ Principales Comandos 💾 ⬅️ Atras
005 ✔️ Base de datos 💾 ⬅️ Atras
006 ✔️ Manejo de datos por Consola 💾 ⬅️ Atras
007 ✔️ Arquitectura 💾 ⬅️ Atras
008 ✔️ Jerarquia u orden de llamadas desde plantilla 💾 ⬅️ Atras
009 ✔️ API Forms 💾 ⬅️ Atras
010 ✔️ Proyecto vs Aplicacion 💾 ⬅️ Atras
011 ✔️ Pycharm 💾 ⬅️ Atras
012 ✔️ Envio de Email 💾 ⬅️ Atras
013 ✔️ Models 💾 ⬅️ Atras
014 ✔️ ORM 💾 ⬅️ Atras
015 ✔️ Archivos estaticos 💾 ⬅️ Atras
016 ✔️ Views 💾 ⬅️ Atras
017 ✔️ Parametros 💾 ⬅️ Atras
018 ✔️ Plantillas 💾 ⬅️ Atras
019 ✔️ Panel de Administrador 💾 ⬅️ Atras
020 ✔️ ListView vistas basadas en clases 💾 ⬅️ Atras
021 ✔️ ListView II vistas basadas en clases 💾 ⬅️ Atras
022 ✔️ Sobreescritura del metodo dispatch 💾 ⬅️ Atras
023 ✔️ Implementando decoradores 💾 ⬅️ Atras
024 ✔️ Sobreescritura del metodo post 💾 ⬅️ Atras

Fundamentos Django

Numeration Check Topic Quantization Edit Gitpot Downloads link
A1 ✔️ Mysite 💾 ⬅️ Atras
A2 ✔️ Forms Generic Views 💾 ⬅️ Atras
A3 ✔️ Shell 💾 ⬅️ Atras
A4 ✔️ Static 💾 ⬅️ Atras
A5 ✔️ Template 💾 ⬅️ Atras
A6 ✔️ Vista plantillas 💾 ⬅️ Atras
A7 ✔️ Web dinamica 💾 ⬅️ Atras
A8 ✔️ Web personal 💾 ⬅️ Atras

Django API Rest Framework

Numeration Check Topic Quantization Edit Gitpot Downloads link
B1 ✔️ APP 💾 ⬅️ Atras
B2 ✔️ REST API 💾 ⬅️ Atras
B3 ✔️ Serealizers 💾 ⬅️ Atras
B4 ✔️ Viewset 💾 ⬅️ Atras
B5 ✔️ APIfeed 💾 ⬅️ Atras
B6 ✔️ AreaLogin 💾 ⬅️ Atras
B7 ✔️ filtrarUsuarios 💾 ⬅️ Atras

Django API Rest Framework Avanzando

Creación y consumo de APIs con Django REST Framework.

Numeration Check Topic Quantization Edit Gitpot Downloads link
C1 ✔️ REST API avanzado 💾 ⬅️ Atras
C2 ✔️ REST API avanzado enlistarUsuarios 💾 ⬅️ Atras
C3 ✔️ REST API avanzado ModeloUsuario 💾 ⬅️ Atras
C4 ✔️ REST API avanzado superuser 💾 ⬅️ Atras
C5 ✔️ RetrieveUpdatePartialUpdateDestroy 💾 ⬅️ Atras

Instalador

📦 Install Django Django makes it easier to build better web apps more quickly and with less code.
📦 Install PyCham IDE de Python para desarrolladores profesionales.
📦 Install Python Python is a programming language that lets you work quickly and integrate systems more effectively.
📦 PIP Encuentre, instale y publique paquetes de Python con el Índice de paquetes de Python
📦 Postman Postman
📦 PostgreSQL The World's Most Advanced Open Source Relational Database - Repository Postgres


Modelo Vista Controlador

  • Model Template View django

Principales Comandos

Crear Proyecto

django-admin startproject nombreProyecto

Crear Aplicacion

python manage.py startapp nombreAplicacion

Crear Entornos Virtual Windows - Linux

python -m venv env

Activar Entorno Virtual

Windows

env\Scripts\activate

Linux

source env\bin\activate

Migrar

python manage.py migrate

Generar la Base de Datos

python manage.py makemigrations

Actualiza Django

pip install --upgrade Django

Actualizar PIP

pip install --upgrade pip

Django Version

pip install Django

Instalar requirements.txt

pip install -r requirements.txt

Version de Django

python -m django --version

Ejecutar Servidor Django

python manage.py runserver

Check de la Aplicacion

python manage.py check nombreAplicacion

Generar la Base de Datos

python manage.py makemigrations

Generar Codigo SQL

python manage.py sqlmigrate nombreAplicacion 000n

mysqlclient

pip install mysqlclient

Django- yodbc azure

pip install django-pyodbc-azure

Crear listado de requerimeintos

python freeze > requerimientos.txt

Crear un superusuario

python manage.py createsuperuser

Shell

python manage.py shell

Base de datos

Principales conectores a gestores de base de datos

Crear Super Usuario

python manage.py createsuperuser

Conector PostgreSQL

Driver

pip install psycopg2
pip install psycopg2-binary

Libreria

pip install mysqlclient
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'articulosclientes',
        'USER': 'briandb',
        'PASSWORD': 'briandb',
        'HOST': '127.0.0.1',
        'DATABASE_PORT': '5432',
}

Conector Mysql/MariaDb

pip3 install mariadb
pip install mysqlclient
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'articulosclientes',
        'USER': 'briandb',
        'PASSWORD': 'briandb',
        'HOST': '127.0.0.1',
        'PORT': 3307,
    }
}

Conector SQLSERVER

Driver

https://www.microsoft.com/es-es/download/details.aspx?id=56567

Libreria

pip install pyodbc

Conectar Python Django con SQL Server

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'db_almacen',
        'USER': 'usr_almacen',
        'PASSWORD': 'mipassword',
        'HOST': '127.0.0.1',
        'PORT': '1433',

        'OPTIONS': {
            'driver': 'ODBC Driver 13 for SQL Server',
        },
    }
}
Carpeta Link Home Code Version Estado
BAse de Datos Config ✔️ ⬅️Atras yes yes ✔️

Manejo de datos por Consola

Insertar datos BBDD - Consola

from nombreAplicacion.models import nombreTabla
art=nombreTabla(inten1='nombre', iten2='nombre', iten3=numero)
art.save()
#art2= nombreTabla.objects.create(iten1="nombre", iten2="campo", iten3=numero)   

Actualizar datos BBDD - Consola

from nombreAplicacion.models import nombreTabla
art.precio=100 
art.save

Borrar datos BBDD - Consola

from nombreAplicacion.models import nombreTabla
variableborrar=nombeTabla.objects.get(id=3) 
variableborrar.delete()

API FORM

from nombreAplicacion.forms import FormularioContacto 
miformulario = FormularioContacto()

Mostrar Formulario print(miformulario)

Carpeta Link Home Code Version Estado
API FORM ✔️ ⬅️Atras yes yes ✔️

Proyecto vs Aplicacion

django

Pycharm

Pagina Principal JETBRAINS.

django

Configuración Entorno Pycharm

Pantalla de creacion de Proyecto

django

  • Carpeta
    • app : Aqui se coloca todos lo archivos
    • env : Aqui Se coloca la version Python

Envio de Email

Incresar en el Archivo Setting

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST="smtp.gmail.com"
EMAIL_USE_TLS=True
EMAIL_PORT=587
EMAIL_HOST_USER="tuemail@gmail.com"
EMAIL_HOST_PASSWORD="tupassword"
EMAIL_USE_TLS = True
EMAIL_USE_SSL = False
  • Ingresar al Shell para las Pruebas
from django.core.mail import send_mail   
send_mail('el asusntoo', 'mensaje del correo, 'tu correo', ['correo destinatario'], fail_silently=False,)
Carpeta Link Home Code Version Estado
Envio de Email ✔️ ⬅️Atras yes yes ✔️

Models

Un modelo es la fuente única y definitiva de información sobre sus datos. Contiene los campos y comportamientos esenciales de los datos que está almacenando. Generalmente, cada modelo se asigna a una sola tabla de base de datos. DOCS.DJANGOPROJECT.

django

Carpeta Link Home Code Version Estado
Model ✔️ ⬅️Atras yes yes ✔️
Model Relaciones ✔️ ⬅️Atras yes yes ✔️

ORM

Un ORM es un modelo de programación que permite mapear las estructuras de una base de datos relacional (SQL Server, Oracle, MySQL, etc.), en adelante RDBMS (Relational Database Management System), sobre una estructura lógica de entidades con el objeto de simplificar y acelerar el desarrollo de nuestras aplicaciones.

Carpeta Link Home Code Version Estado
ORM I ✔️ ⬅️Atras yes yes ✔️
ORM II ✔️ ⬅️Atras yes yes ✔️

Archivos estaticos

  • Archivos Estaticos

Documentacion Django Archivos Estaticos.

  • Bootstrap

Bootstrap Descargar Bootstrap.

  • Ejemplo

w3schools Ejemplo.

Carpeta Link Home Code Version Estado
Archivos_estaticos ✔️ ⬅️Atras yes yes ✔️

Views

  • VIEW Modelo Vista controlador
M = Modelo (Base de Datos)
V = Vista
C = Controlador (Funciones)

Modelo Vista Template

M = Modelo (Base de Datos)
V = Vista (Funciones)
C = Templates (Pantallas)
Carpeta Link Home Code Version Estado
Mi Primera View ✔️ ⬅️Atras yes yes ✔️

Parametros

Carpeta Link Home Code Version Estado
Paramentros URL ✔️ ⬅️Atras yes yes ✔️
Parametros En URL ✔️ ⬅️Atras yes yes ✔️

Plantillas

Carpeta Link Home Code Version Estado
PLantillas I ✔️ ⬅️Atras yes yes ✔️
PLantillas II ✔️ ⬅️Atras yes yes ✔️
PLantillas III ✔️ ⬅️Atras yes yes ✔️
PLantillas IV ✔️ ⬅️Atras yes yes ✔️
PLantillas V ✔️ ⬅️Atras yes yes ✔️
PLantillas IV ✔️ ⬅️Atras yes yes ✔️
Templates I ✔️ ⬅️Atras yes yes ✔️
Templates II ✔️ ⬅️Atras yes yes ✔️
Templates Integrando Platntilla adminLT3 ✔️ ⬅️Atras yes yes ✔️

Panel de Administrador

Carpeta Link Home Code Version Estado
Panel de Adminitracion ✔️ ⬅️Atras yes yes ✔️

ListView vistas basadas en clases

Carpeta Link Home Code Version Estado
ListView_vistas_basadas_en_clases ✔️ ⬅️Atras yes yes ✔️

ListView II vistas basadas en clases

Carpeta Link Home Code Version Estado
ListView II_vistas_basadas_en_clases ✔️ ⬅️Atras yes yes ✔️

Sobreescritura del metodo dispatch

Carpeta Link Home Code Version Estado
Sobreescritura del metodo dispatch ✔️ ⬅️Atras yes yes ✔️

Implementando decoradores

Documentacion

Decoradores Django

Carpeta Link Home Code Version Estado
Implementando decoradores ✔️ ⬅️Atras yes yes ✔️

Sobreescriturdel metodo post

Number Carpeta Link Home Code Version Estado
024 Sobreescriturdel metodo post ✔️ ⬅️Atras yes yes ✔️

Mysite

  • Solicitudes y respuestas
  • Modelos y sitio de administración

Mas Informacion documentacion docs.djangoproject

Number Carpeta Link Code Version Estado Home
A1 Mysite ✔️ yes yes ✔️ ✔️

SHELL - Demo

>>> python manage.py shell
>>> Post.objects.first()
>>> Post.objects.get() 
>>> post = Post.objects.create(title="Mi segundo Blog", content="Contenido de segundo blog")
>>> post.title = "otro blog"
>>> post.save()

Forms Generic Views

Number Carpeta Link Code Version Estado Home
A2 Forms Generic Views ✔️ yes yes ✔️ ✔️

Shell

Number Carpeta Link Code Version Estado Home
A3 Shell ✔️ yes yes ✔️ ✔️

Static

Number Carpeta Link Code Version Estado Home
A4 Static ✔️ yes yes ✔️ ✔️

Template

Number Carpeta Link Code Version Estado Home
A4 Template ✔️ yes yes ✔️ ✔️

Vista plantillas

Number Carpeta Link Code Version Estado Home
A5 Vista plantillas ✔️ yes yes ✔️ ✔️

Web dinamica

Number Carpeta Link Code Version Estado Home
A Web Dinamica ✔️ yes yes ✔️ ✔️

Web personal

Number Carpeta Link Code Version Estado Home
A Web personal ✔️ yes yes ✔️ ✔️

Djando Api Rest Framenwork

Documentacion Django Api REST Framework

APP

Number Carpeta Link Code Version Estado Home
B1 APP ✔️ yes yes ✔️ ✔️

REST API

Number Carpeta Link Code Version Estado Home
B2 REST API ✔️ yes yes ✔️ ✔️

Serealizers

Number Carpeta Link Code Version Estado Home
B3 Serealizers ✔️ yes yes ✔️ ✔️

Viewset

Number Carpeta Link Code Version Estado Home
B4 Viewset ✔️ yes yes ✔️ ✔️

APIfeed

Number Carpeta Link Code Version Estado Home
B5 APIfeed ✔️ yes yes ✔️ ✔️

AreaLogin

Number Carpeta Link Code Version Estado Home
B6 AreaLogin ✔️ yes yes ✔️ ✔️

filtrarUsuarios

Number Carpeta Link Code Version Estado Home
B7 filtrarUsuarios ✔️ yes yes ✔️ ✔️

REST API avanzado

Number Carpeta Link Code Version Estado Home
C1 REST API avanzado ✔️ yes yes ✔️ ✔️

REST API avanzado enlistarUsuarios

Number Carpeta Link Code Version Estado Home
C2 REST API avanzado enlistarUsuarios ✔️ yes yes ✔️ ✔️

REST API avanzado ModeloUsuario

Number Carpeta Link Code Version Estado Home
C3 REST API avanzado ModeloUsuario ✔️ yes yes ✔️ ✔️

REST API avanzado superuser

Number Carpeta Link Code Version Estado Home
C4 REST API avanzado superuser ✔️ yes yes ✔️ ✔️

RetrieveUpdatePartialUpdateDestroy

Number Carpeta Link Code Version Estado Home
C4 EetrieveUpdatePartialUpdateDestroy ✔️ yes yes ✔️ ✔️

Compilador Online (Python)

www.programiz.com

Ubuntu (Adicional)

Procesos en Ubuntu

ps -aux

Ubuntu - procesos en ejecución en Linux.

PostgreSQL

Cómo conectar una base de datos - PostgreSQL con Django.

Books

Server Name Authors Editorial ISBN Link
OneDrive Lightweight Django Julia Elman, Mark Lavin O'REILLY 978-1-491-94594-0 Lightweight Django

Spotify Python

Music Python List on Spotify


Paypal

☕ Invitame un Cafe PAYPAL 🍵


A B
C E
F G