Proyecto DjangoGirls

En esta entrada crearemos un proyecto en Django.
Utilizamos un totorial de referencia: https://tutorial.djangogirls.org/es/

Lo primero que debemos hacer es crear una carpeta en el cual se guardaran los archivos de nuestro proyecto, despues nos vamos a la consola (cmd) ponemos la ruta de nuestra carpeta e ingresamos el comando django-admin startproject nombre_del _proyecto.


Una vez creado podremos ver los archivos que se crearon

Para configurar algunas cosas del proyecto, solo tenemos que abrir el archivo "Settings". Este nos permitirá configurar ciertos parámetros de nuestro servidor como por ejemplo, en este apartado podemos cambiar el idioma de nuestro proyecto(servidor)

para generar la migración, crea o copia datos de una base de datos en formato sqlite3 para almacenar información, en la consola ponemos el comando python manage.py migrate

Hasta este punto ya podremos correr el servidor con el comando python manage.py runserver.

Accediendo a la direccion http://127.0.0.1:8000/ podremos ver que funciona.
Lo que sigue es crear una aplicacion, esto basicamente es todo lo que va a contener nuestro servidor, como otras paginas, aplicaciones web, proyectos, etc. Se crea con el comando django-admin startapp nombre_de_la_aplicacion.

Podemos visualizar los archivos que se crearon.

Lo que sigue es registrar la aplicación, para esto nos vamos al archivo "Settings" de nuestro proyecto y escribimos el nombre de nuestra aplicación en el apartado de aplicaciones instaladas.

Como siguiente paso es, ir al archivo "models" de nuestra aplicación e ingresamos el siguiente codigo:

from django.db import models
from django.utils import timezone


class Post(models.Model):
    author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
    title = models.CharField(max_length=200)
    text = models.TextField()
    created_date = models.DateTimeField(
            default=timezone.now)
    published_date = models.DateTimeField(
            blank=True, null=True)

    def publish(self):
        self.published_date = timezone.now()
        self.save()

    def __str__(self):
        return self.title


Lo que hace el código es crear una tabla con base al modelo, con los datos como nombre del autor, fecha de publicación, fechas de creacion y publicaciones.
Para hacer efectivos los cambios, pondremos el comando python manage.py makemigrations.

Para poder acceder al servidor tenemos que crear un usuario, para esto pondremos el comando python manage.py createsuperuser, y llenamos los datos que pide.

y sera necesario denotar este cambio a django, para ello abrimos el archivo "admin" de nuestra aplicación y escribimos este codigo:

from django.contrib import admin
from .models import Post

admin.site.register(Post)


Una vez hecho esto abrimos nuestro servidor y nos dirigimos al aparto admin: http//127.0.0.1:8000/admin.
Aqui ingresamos la cuenta que anteriormente creamos.

Aquí vemos que entramos a nuestro servidor y también podemos ver que nuestra migración funciono porque podemos ver el apartado post que fue el que creamos a través del modelo, en el podemos ver y agregar nuevas entradas a nuestro blog.

Agregamos una entrada para comprobar, solo tenemos que dar click en agregar y listo, llenas los campos que desees y damos click en guardar.


Configuración de URLS:
Lo siguiente es a configuración de urls, para ello nos iremos al archivo urls de nuestro proyecto y escribiremos el siguiente código:


from django.urls import path, include
from django.contrib import admin

urlpatterns = [
    path('admin/', admin.site.urls),    path('', include('blog.urls')),]


Con ello daremos de alta un archivo que contendrá las urls de nuestra aplicación. Como consecuente iremos a nuestra aplicación y crearemos ese archivo (blog.urls) y pegaremos el siguiente código:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.post_list, name='post_list'),]


Vistas:
Ahora toca configurar nuestra primera vista, para ello nos iremos al archivo "views.py" de nuestra aplicación y escribiremos el siguiente código:

from django.shortcuts import render

# Create your views here.def post_list(request):
    return render(request, 'blog/post_list.html', {})

Lo que hace este código es mostrar en pantalla el contenido que se encuentra en un archivo html llamado list.html.

Plantillas:
En la parte anterior hemos hablado de desplegar archivos html en pantalla, estos básicamente nos servirán de plantillas, es decir, un código que ya tenemos escrito nos servirá de base para tomar varios elementos de el y con ello construir lo que el usuario ve en el monitor.

Creemos pues nuestra primer plantilla, para ello crearemos 2 carpetas, primero la carpeta templates dentro de nuestra aplicación y dentro una carpeta blog que tendrá un archivo llamado post_list.html.


Ya hecho esto, vamos al archivo html y escribimos lo siguiente:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Hola mundo</title></head><body>
<h1>Hola Mundo!</h1>
</body></html>


Por ultimo corremos el servidor y vamos al enlace: 127.0.0.1:8000, y veamos lo que aparece:


Comentarios