From 6be4da9f2d7bd7ec3370adb5860e05c566ca3966 Mon Sep 17 00:00:00 2001 From: Fuzan Date: Fri, 2 Jul 2021 22:02:26 -0400 Subject: [PATCH] 01 --- 1_DjangoTemplates.md | 66 ++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/1_DjangoTemplates.md b/1_DjangoTemplates.md index cb436e4..b040302 100644 --- a/1_DjangoTemplates.md +++ b/1_DjangoTemplates.md @@ -5,22 +5,22 @@ ------- ### Creacion Entorno Virtual -``` +```sh python3 -m venv .django-env ``` ### Usar virt-env -``` +```sh source .django-evn/bin/activate ``` ### Installar Django -``` +```sh pip3 install Django ``` ### Crear Proyecto -``` +```sh django-admin startproject NombreProyecto ``` @@ -33,12 +33,12 @@ django-admin startproject NombreProyecto ### Creación de base de datos -``` +```sh python3 manage.py migrate ``` ### Correr servidor de pruebas -``` +```sh python3 manage.py runserver ``` -------- @@ -57,7 +57,7 @@ python3 manage.py runserver ## Primera Vista crear Proyecto1/views.py -``` +```py from django.http import HttpResponse def primeravista(request): @@ -69,7 +69,7 @@ def otra(request); ### 'Enlazar' vista con una URL ***urls.py*** -``` +```py from Proyecto1.views import primeravista, otra url_patterns = [ @@ -83,7 +83,7 @@ url_patterns = [ ## Paso de parametros en URL *views.py* -``` +```py def calcEdad(request, edad, ano): periodo = ano - 2020 edadfutura = edad + periodo @@ -93,7 +93,7 @@ def calcEdad(request, edad, ano): ``` *urls.py* -``` +```py from Proyecto1.views import primeravista, otra, verFecha, calcEdad urlpatterns = [ @@ -104,7 +104,7 @@ urlpatterns = [ ### Contenido Dinámico *views.py* -``` +```py import datetime def verFecha(request): @@ -114,7 +114,7 @@ def verFecha(request): ``` *urls.py* -``` +```py from Proyecto1.views import primeravista, otra, verFecha urlpatterns = [ @@ -134,12 +134,12 @@ urlpatterns = [ - Renderizado del objeto Template `documento = plant.render(ctx)` *Proyecto1/plantillas/miplantilla.html* -``` +```html

Primera plantilla en Django ╮(︶▽︶)╭

``` *views.py* -``` +```py from django.template import Template, Context def primeravista(request): @@ -155,7 +155,7 @@ def primeravista(request): ### Uso de variables en plantillas *views.py* -``` +```py from django.template import Template, Context def primeravista(request): @@ -172,7 +172,7 @@ def primeravista(request): ``` *miplantilla.html* -``` +```html

@@ -188,7 +188,7 @@ def primeravista(request): ### Acceso a objetos y propiedades desde plantillas (uso de dicc. en contexto) *views.py* -``` +```py class Persona(object): def __init__(self, nombre, apellido): self.nombre = nombre @@ -209,7 +209,7 @@ def primeravista(request): ### Uso de listas en contexto y plantillas *views.py* -``` +```py temas_curso = ["Vistas", "Modelos", "Plantillas", "Formularios", "Despliege"] ctx = Context({"nombre_persona":p1.nombre, "apell_persona":p1.apellido, "fecha":fecha, "temas":temas_curso}) @@ -218,7 +218,7 @@ ctx = Context({"nombre_persona":p1.nombre, "apell_persona":p1.apellido, "fecha": ### Estructuras de control de flujo en plantillas *miplantilla.html* -``` +```html

Temas de estudio

    @@ -245,14 +245,14 @@ ctx = Context({"nombre_persona":p1.nombre, "apell_persona":p1.apellido, "fecha": #### Métodos en plantillas *miplantilla.html* -``` +```html

    El Nombre de prueba es: {{nombre_persona.upper}}

    El Apellido de prueba es: {{apell_persona.upper}}

    ``` ### Tags -``` +```html # autoescape on por defecto {% autoescape on %} {{ body }} @@ -279,7 +279,7 @@ ctx = Context({"nombre_persona":p1.nombre, "apell_persona":p1.apellido, "fecha": # Cross Site Request Forgery ``` -``` +```html # for {% for x, y in points %} There is a point at {{ x }},{{ y }} @@ -300,7 +300,7 @@ ctx = Context({"nombre_persona":p1.nombre, "apell_persona":p1.apellido, "fecha": ### Fitros *miplantilla.html* -``` +```html # filtro upper

    El Apellido de prueba es: {{apell_persona|upper}}

    @@ -324,7 +324,7 @@ ctx = Context({"nombre_persona":p1.nombre, "apell_persona":p1.apellido, "fecha": De esta forma, el objeto *render* no adminte un contexto como parametro. Debe recibir un *diccionario* *views.py* -``` +```py .... from django.template.loader import get_template @@ -336,7 +336,7 @@ return HttpResponse(documento) Especificar ruta a plantillas *settings.py* -``` +```py TEMLPATES = [ ... 'DIRS': ['/home/sat/weblocal/PildorasInf/Proyecto1/Proyecto1/plantillas'], @@ -347,7 +347,7 @@ TEMLPATES = [ ### Simplificación de código con paquete shortcuts [Django-doc](https://docs.djangoproject.com/en/3.0/topics/http/shortcuts/) *views.py* -``` +```py ... from django.shortcuts import render @@ -361,7 +361,7 @@ from django.shortcuts import render ### Pantillas dentro de plantillas ( incrustadas ) ej. barra navegacion simple */plantillas/superior/barra.html* -``` +```html