PDF de programación - django tutorial 1.8

Imágen de pdf django tutorial 1.8

django tutorial 1.8gráfica de visualizaciones

Publicado el 20 de Septiembre del 2017
1.984 visualizaciones desde el 20 de Septiembre del 2017
819,5 KB
73 paginas
Creado hace 9a (14/04/2015)
Django Documentation
Publicación 1.8.x

Django Software Foundation

April 14, 2015

Índice general

1. Tutorial

1.1. Empezando con Django .

.

.

.

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3
3

I

II

Django Documentation, Publicación 1.8.x

Django es un framework web de alto nivel, escrito en Python, que ayuda al desarrollo rápido y a un diseño limpio y
pragmático. Construido por desarrolladores experimentados, resuelve una buena parte de los problemas del desarrollo
web de tal manera que uno se pueda enfocar en escribir su app sin necesidad de reinventar la rueda. Es gratis y de
código abierto.
Sitio web: https://www.djangoproject.com

Índice general

1

Django Documentation, Publicación 1.8.x

2

Índice general

CAPÍTULO 1

Tutorial

Nuevo en Django? O en desarrollo web en general? Llegaste al lugar indicado: leé este material para ponerte en marcha
rápidamente.

1.1 Empezando con Django

Nuevo en Django? O en desarrollo web en general? Bueno, estás en el lugar indicado: leé este material para empezar
rápidamente.

1.1.1 Django de un vistazo

Como Django fue desarrollado en el entorno de una redacción de noticias, fue diseñado para hacer las tareas comunes
del desarrollo web rápidas y fáciles. Esta es una introducción informal de cómo escribir una aplicación basada en una
base de datos con Django.
El objetivo de este documento es brindar las especificaciones técnicas suficientes para entender cómo funciona Django,
pero no ser un tutorial o una referencia – ambos existen! Cuando estés listo para empezar un proyecto, podés chequear
el tutorial o sumergirte en la documentación más detallada.

Diseñar tu modelo

Aunque se puede usar sin una base de datos, Django viene con un mapeador objeto-relacional a través del cual podés
describir la estructura de tu base de datos en código Python.
La sintaxis de modelo de datos ofrece muchas maneras de representar tus modelos – al día de hoy ha resuelto problemas
de esquema de base de datos por años. Aquí un rápido ejemplo: from django.db import models
class Reporter(models.Model): full_name = models.CharField(max_length=70)
def __str__(self): # __unicode__ on Python 2 return self.full_name
class Article(models.Model): pub_date = models.DateField() headline = models.CharField(max_length=200) content
= models.TextField() reporter = models.ForeignKey(Reporter)
def __str__(self): # __unicode__ on Python 2 return self.headline mysite/news/models.py

3

Django Documentation, Publicación 1.8.x

Instalarlo

A continuación hay que correr la utilidad de línea de comandos de Django para crear las tablas de la base de datos
automáticamente:

$ python manage.py migrate

El comando migrate revisa todos los modelos disponibles y crea las tablas en la base de datos para aquellos que
todavía no existan, como así también, opcionalmente, proveer un amplio control sobre los esquemas.

Aprovecha la API ya provista

En este punto ya obtenés una completa API Python para acceder a tus datos. La API es creada “al vuelo”, sin requerir
generación de código:

# Import the models we created from our "news" app
>>> from news.models import Reporter, Article

# No reporters are in the system yet.
>>> Reporter.objects.all()
[]

# Create a new Reporter.
>>> r = Reporter(full_name='John Smith')

# Save the object into the database. You have to call save() explicitly.
>>> r.save()

# Now it has an ID.
>>> r.id
1

# Now the new reporter is in the database.
>>> Reporter.objects.all()
[<Reporter: John Smith>]

# Fields are represented as attributes on the Python object.
>>> r.full_name
'John Smith'

# Django provides a rich database lookup API.
>>> Reporter.objects.get(id=1)
<Reporter: John Smith>
>>> Reporter.objects.get(full_name__startswith='John')
<Reporter: John Smith>
>>> Reporter.objects.get(full_name__contains='mith')
<Reporter: John Smith>
>>> Reporter.objects.get(id=2)
Traceback (most recent call last):

...

DoesNotExist: Reporter matching query does not exist.

# Create an article.
>>> from datetime import date
>>> a = Article(pub_date=date.today(), headline='Django is cool',
...
>>> a.save()

content='Yeah.', reporter=r)

4

Capítulo 1. Tutorial

Django Documentation, Publicación 1.8.x

# Now the article is in the database.
>>> Article.objects.all()
[<Article: Django is cool>]

# Article objects get API access to related Reporter objects.
>>> r = a.reporter
>>> r.full_name
'John Smith'

# And vice versa: Reporter objects get API access to Article objects.
>>> r.article_set.all()
[<Article: Django is cool>]

# The API follows relationships as far as you need, performing efficient
# JOINs for you behind the scenes.
# This finds all articles by a reporter whose name starts with "John".
>>> Article.objects.filter(reporter__full_name__startswith='John')
[<Article: Django is cool>]

# Change an object by altering its attributes and calling save().
>>> r.full_name = 'Billy Goat'
>>> r.save()

# Delete an object with delete().
>>> r.delete()

Interfaz de administración dinámica: no sólo los andamios – la casa completa

Una vez que tus modelos están definidos, Django puede crear automáticamente una interfaz de administración profe-
sional, lista para producción – un sitio web que permite a usuarios autenticados agregar, modificar y borrar objetos. Es
tan fácil como registrar tu modelo en el sitio de administración: from django.db import models
class
dels.CharField(max_length=200)
mysite/news/models.py

mo-
= models.ForeignKey(Reporter)

Article(models.Model):

models.DateField()

content

= models.TextField()

reporter

pub_date

=

headline

=

from django.contrib import admin
from . import models
admin.site.register(models.Article) mysite/news/admin.py

La filosofía aquí es que tu sitio es editado por un staff, un cliente o quizás solamente vos – y vos no querés tener que
crear las interfaces de backend solamente para manejar el contenido.
Un flujo típico al crear las apps Django es definir los modelos y configurar el sitio de administración corriendo tan
rápido como sea posible, de tal forma que el staff (o los clientes) pueden empezar a agregar información. Y luego,
desarrollar la manera en que esta información es presentada al público.

Diseñar tus URLs

Un esquema de URLs limpio y elegante es un detalle importante en una aplicación web de calidad. Django incentiva
el diseño elegante de URLs y no añade ningún sufijo como .php or .asp.

1.1. Empezando con Django

5

Django Documentation, Publicación 1.8.x

Para diseñar las URLs de una app, hay que crear un módulo Python llamado URLconf. Es una tabla de contenidos
para tu app, contiene un simple mapeo entre patrones de URL y funciones Python. Los URLconfs también sirven para
desacoplar las URLs del código Python.
A continuación cómo podría ser un URLconf para el ejemplo anterior de Reporter/Article: from djan-
go.conf.urls import url
from . import views
urlpatterns
9]{2})/$’,
mysite/news/urls.py

url(r’^articles/([0-9]{4})/([0-
]

url(r’^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$’,

url(r’^articles/([0-9]{4})/$’,

views.month_archive),

views.article_detail),

views.year_archive),

=

[

El código de arriba mapea URLs, listadas como expresiones regulares simples, a la ubicación de funciones Python de
callback (“views”). Las expresiones regulares usan paréntesis para “capturar” valores en las URLs. Cuando un usuario
pide una página, Django recorre los patrones, en orden, y se detiene en el primero que coincide con la URL solicitada.
(Si ninguno coincide, Django llama a un view especial para un 404.) Esto es muy rápido porque las expresiones
regulares se compilan cuando se carga el código.
Una vez que una de las expresiones regulares coincide, Django importa e invoca la view correspondiente, que es
simplemente una función Python. Cada view recibe como argumentos un objeto request – que contiene la metada del
request – y los valores capturados en la expresión regular.
Por ejemplo,
news.views.article_detail(request, ’2005’, ’05’, ’39323’).

si el usuario solicita la URL “/articles/2005/05/39323/”, Django llamaría a la función

Escribir tus views

Cada view es responsable de hacer una de dos cosas: devolver un objeto HttpResponse con el contenido de la
página solicitada, o levantar una excepción como Http404. El resto depende de cada uno.
Generalmente, una view obtiene datos de acuerdo a los parámetros que recibe, carga un template y lo renderiza usando
esos datos. Este es un ejemplo de una view para year_archive siguiendo con el ejemplo anterior: from djan-
go.shortcuts import render
from .models import Article
def
year_archive(request,
{‘year’:
mysite/news/views.py

Article.objects.filter(pub_date__year=year)

‘news/year_archive.html’,

=
context)

render(request,

‘article_list’:

context

a_list}

return

year,

year):

a_list

=

Este ejemplo usa el sistema de templates de Django, que tiene varias características poderosas pero es lo suficiente-
mente simple de usar para no-programadores.

Diseñar tus templates

El código anterior cargar el template news/year_archive.html.
Django tiene un path de búsqueda de templates, que permite minimizar la redundancia. En tus settings, especificá una
lista de directorios para revisar por templates en DIRS. Si un template no existe en el primer directorio, se busca en el
segundo, y así sucesivamente.
Supongamos que el template news/year_archive.html se encuentra, su contenido podría ser: { % extends
“base.html” %}
{ % block title %}Articles for {{ year }}{ % endblock %}

6

Capítulo 1. Tutorial

{ % block content %} <h1>Articles for {{ year }}</h1>
{ % for
}}</p> <p>Published
article.pub_date|date:”F
mysite/news/templates/news/year
  • Links de descarga
http://lwp-l.com/pdf7025

Comentarios de: django tutorial 1.8 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad