Sunteți pe pagina 1din 6

Django

EL directorio externo mysite/root es solo un contenedor para su proyecto, su nombre


no le importa a Django, le puedes cambiar el nombre.

manage.py
una utilidad de línea de comandos que te permite interactuar con este proyecto de
DJango de varias maneras.

EL directorio mysite interno es el paquete de Python real para su proyecto.Su


nombre es el nombre del paquete de python que necesitarás usar para importar
cualquier cosa dentro de él (ejemplo, mysite.urls).

mysite/__init__.py: un archivo vacío que le dice a python que este directorio debe
de considerarse un paquete de python.

mysite/settings/configuration te dirá todo sobre cómo funcionan las


configuraciones.

mysite/urls.py:las declaraciones de URL para este proyecto de Django

mysite/wsgi.py: Un punto de entrada para servidores web compatibles con WSGI|

**********************************
mysite/ *
manage.py *
mysite/ *
__init__.py *
settings.py *
urls.py *
wsgi.py *
**********************************
-----------------------------------------------------------------------------------
-------------------
ACTIVAR EL ENTORNO VIRTUAL
Nos movemos a la carpeta donde esta el entorno virtual
cd Documentos/
ls
cd TrabajosFabi/
ls
cd django/
ls
cd mientornomivirtual/
ls
cd bin/
source activate
cd ..
cd ..
cd mi_proyecto
python manage.py runserver
-----------------------------------------------------------------------------------
-------------------

EL SERVIDOR DE DESARROLLO
Para verificar que el proyecto de Django funciona, cambie de directorio externo y
ejecute los siguientes comandos:

*******************************
$ python manage.py runserver *
*******************************

para salir del servidor se presionan las teclas

********
ctrl c *
********
-----------------------------------------------------------------------------------
-------------------
PROYECTOS VS APLICACIONES

Diferencia entre una aplicación y un proyecto


Una aplicación es una aplicación web que hace algo, por ejemplo una base de datos
de registros publicos o una aplicación de encuesta simple.
Un proyecto es una colección de configuración y aplicaciones para un sitio web en
particular.
Un proyecto puede contener múltiples aplicaciones.
Una aplicación puede estar en múltiples proyectos.
-----------------------------------------------------------------------------------
-------------------
CREANDO UN PROYECTO

Si esta es la primera vez que utiliza Django, tendrá que hacerse cargo de ciertas
configuraciones iniciales. Concretamente, tendrá que autogenerar un código que
establezca un Django project – un conjunto de ajustes para una instancia de Django,
incluida la configuración de la base de datos, opciones específicas de Django y
configuraciones específicas de la aplicación.

Desde la línea de comandos, cambie a un directorio donde le gustaría almacenar su


código, luego, ejecute el siguiente comando:
************************************
$ django-admin startproject mysite *
************************************

CREAR NUESTRA PRIMERA APLICACIÓN


Sus aplicaciones pueden vivir en cualquier lugar en su ruta de Python. En este
tutorial, crearemos nuestra aplicación de encuestas al lado de su archivo manage.py
para que pueda importarse como su propio módulo de nivel superior, en lugar de un
submódulo de mi sitio.

Para crear su aplicación, asegúrese de estar en el mismo directorio que manage.py y


escriba este comando:
************************************
$ python manage.py startapp polls *
************************************

Este comando creará un directorio de encuestas(polls), que se presenta así :

**********************************
polls/ *
__init__.py *
admin.py *
apps.py *
migrations/ *
__init__.py *
models.py *
tests.py *
views.py *
**********************************
En esta estructura se albergará la aplicación de encuestasr(polls)

**********************************************************
https://docs.djangoproject.com/en/2.2/intro/tutorial02/ * pagina de donde estoy
haciendo el tutorial
**********************************************************
https://docs.djangoproject.com/es/2.2/intro/tutorial01/

BASE DE DATOS Django


********
SQlite *
********
Si está utilizando SQlite, la base de datos será un arcivo en su computadora;
En ese caso el 'Nombre' de la base de datos debe ser la ruta absoluta completa,
incluido el nombre del archivo.
El valor predeterminado os.path.join(BASE_DIR, 'db.sqlite3'), almacenará el
archivo en el directorio de su proyecto.

SETTINGS.PY
EN este archivo que se encuentra en el folder del proyecto, en la sección
'INSTALLED_APPS'
contiene los nombres de todas las aplicaciones de Django que están activadas en la
instancia de Django.
Las aplicaciones se pueden usar en múltiples proyectos, y puede emáquetarlas y
distribuirlas para que otras personas las usen en sus proyectos.

*
***********************************************************************************
* django.contrib.admin - El sitio de administración. Lo usarás en breve.
*
* django.contrib.auth - Un sistema de autenticación.
*
* django.contrib.contenttypes - Un marco para tipos de contenido.
*
* django.contrib.sessions - Un marco de sesión.
*
* django.contrib.messages - Un marco de mensajería.
*
* django.contrib.staticfiles - Un marco para administrar archivos estáticos.
*
*
***********************************************************************************

CREANDO MODELOS

Ahora definiremos sus modelos, esencialmente, el diseño de su base de datos, con


metadatos adicionales.

***********************************************************************************
*******************************

Filosofía

Un modelo es la fuente única y definitiva de la verdad acerca de sus datos.


Contiene los campos y comportamientos esenciales de los datos que está almacenando.
Django sigue el principio DRY. El objetivo es definir su modelo de datos en un solo
lugar y derivar automáticamente cosas de él.

Esto incluye las migraciones; a diferencia de Ruby On Rails, por ejemplo, las
migraciones se derivan completamente de su archivo de modelos, y son esencialmente
un historial que Django puede recorrer para actualizar el esquema de su base de
datos para que coincida con sus modelos actuales.

***********************************************************************************
*******************************
CREANDO MODELOS EN LA APP 'POLLS'
En la app, se van a crear dos modelos

*Question
Va a tener question(pregunta) y publication date (fecha de publicación)

*Choice
Va a tener dos campos
EL texto de 'choice' (elección) y 'vote tally' (recuento de votos)

'Choice' esta asociado con 'Question'

*********************************************************************************
polls/models.py *
--------------------------------------------------------------------------------*
from django.db import models *
*
*
class Question(models.Model): *
question_text = models.CharField(max_length=200) *
pub_date = models.DateTimeField('date published') *
*
*
class Choice(models.Model): *
question = models.ForeignKey(Question, on_delete=models.CASCADE) *
choice_text = models.CharField(max_length=200) *
votes = models.IntegerField(default=0) *
*********************************************************************************
-----------------------------------------------------------------------------------
------------------------------
El nombre de cada instancia de campo (por ejemplo, question_text o pub_date) es el
nombre del campo, en formato - fácil de usar para la máquina. Usarás este valor en
tu código de Python, y tu base de datos lo usará como el - nombre de la columna.
-

Puede usar un primer argumento posicional opcional para un Campo para designar un
nombre legible para el ser humano. Se usa en un par de partes introspectivas de
Django y se duplica como documentación. Si este campo no se proporciona, Django
usará el nombre legible por la máquina. En este ejemplo, solo hemos definido un
nombre legible por humanos para Question.pub_date. Para todos los demás campos de
este modelo, el nombre legible por máquina del campo será suficiente como su nombre
legible por humanos.

Algunas clases de campo tienen argumentos requeridos. CharField, por ejemplo,


requiere que le des un max_length. Eso se usa no solo en el esquema de la base de
datos, sino en la validación, como veremos pronto.

Un campo también puede tener varios argumentos opcionales; En este caso, hemos
establecido el valor predeterminado de los votos en 0.
Finalmente, note que se define una relación, usando ForeignKey. Eso le dice a
Django que cada elección está relacionada con una sola pregunta. Django es
compatible con todas las relaciones de base de datos comunes: muchos a uno, muchos
a muchos y uno a uno.
[many-to-one, many-to-many, and one-to-one]
-----------------------------------------------------------------------------------
-------------------

ACTIVANDO MODELOS

Esa pequeña parte del código de modelo le da a Django mucha información. Con ello,
Django es capaz de:

Cree un esquema de base de datos (sentencias CREATE TABLE) para esta aplicación.
Cree una API de acceso a la base de datos de Python para acceder a los objetos de
Preguntas y Opciones.

Pero primero debemos decirle a nuestro proyecto que la aplicación de encuestas está
instalada.

S-ar putea să vă placă și