01
parent
6049662435
commit
6be4da9f2d
@ -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 <ip:puerto>
|
||||
```
|
||||
--------
|
||||
@ -57,7 +57,7 @@ python3 manage.py runserver <ip:puerto>
|
||||
## 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
|
||||
<html><body><h3>Primera plantilla en Django ╮(︶▽︶)╭</h3></body></html>
|
||||
```
|
||||
|
||||
*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
|
||||
<html>
|
||||
<body>
|
||||
<h2 style="color: magenta">
|
||||
@ -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
|
||||
<p><strong>Temas de estudio</strong></p>
|
||||
<p>
|
||||
<ul>
|
||||
@ -245,14 +245,14 @@ ctx = Context({"nombre_persona":p1.nombre, "apell_persona":p1.apellido, "fecha":
|
||||
#### Métodos en plantillas
|
||||
|
||||
*miplantilla.html*
|
||||
```
|
||||
```html
|
||||
<p>El Nombre de prueba es: <strong>{{nombre_persona.upper}}</strong></p>
|
||||
<p>El Apellido de prueba es: <strong>{{apell_persona.upper}}</strong></p>
|
||||
```
|
||||
|
||||
### 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
|
||||
<p>El Apellido de prueba es: <strong>{{apell_persona|upper}}</strong></p>
|
||||
|
||||
@ -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
|
||||
<html>
|
||||
<style>
|
||||
#barra{
|
||||
@ -388,7 +388,7 @@ ej. barra navegacion simple */plantillas/superior/barra.html*
|
||||
</html>
|
||||
```
|
||||
Incrustar en *miplantilla.html*
|
||||
```
|
||||
```html
|
||||
<html>
|
||||
<body>
|
||||
{% include "superior/barra.html" %}
|
||||
@ -409,7 +409,7 @@ Parent.html
|
||||
|
||||
ej. Parent
|
||||
*plantillas/base.html*
|
||||
```
|
||||
```html
|
||||
<html>
|
||||
|
||||
<head>
|
||||
@ -437,7 +437,7 @@ ej. Parent
|
||||
|
||||
ej. child
|
||||
*childpage1.html*
|
||||
```
|
||||
```html
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %} Pagina hija {% endblock %}
|
||||
@ -452,14 +452,14 @@ ej. child
|
||||
{% endblock %}
|
||||
```
|
||||
Registrar vista *views.py* y url en *urls.py*
|
||||
```
|
||||
```py
|
||||
def herencia1(request):
|
||||
fecha_ahora = datetime.datetime.now()
|
||||
return render(request, "childpage1.html", {"verFecha":fecha_ahora})
|
||||
|
||||
# lo mismo para childpage2.html
|
||||
```
|
||||
```
|
||||
```py
|
||||
from Proyecto1.views import primeravista, otra, verFecha, calcEdad, herencia1, herencia2
|
||||
|
||||
urlpatterns = [
|
||||
|
Loading…
Reference in New Issue
Block a user