Creación de las vistas
Las vistas se crean mediante la creación de unas funciones.
Iremos a la carpeta de nuestra aplicación que se llama myapp
y dentro de ella encontraremos el archivo views.py
.
En el archivo views.py
crearemos nuestra primera función que retornará un mensaje al cliente (al navegador).
La función puede llamarse como queramos, en nuestro caso se llamará hello
.
La función recibirá un parámetro que nos lo pasará django y se llamará request
.
La función retornará una respuesta al cliente de tipo HTTP. Será un texto que el navegador va a recibir.
Para enviar la respuesta de tipo HTTP tendremos que importar de la librería django.http el método HttpResponse
.
De momento quitaremos la otra linéa que por defecto nos muestra django que es from django.shortcuts import render
que posteriormente ya utizaremos, pero que ahora quitamos.
El código quedaría así:
from django.http import HttpResponse
# Create your views here.
def hello(request):
return HttpResponse("Hello World")
La ruta
Ahora necesitamos indicar en que ruta se ha de mostrar el resultado de nuestra función. Las rutas están en el archivo urls.py
de la carpeta del proyecto mysite
Por defecto, al inicial django el archivo urls.py
viene así:
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
Inicialmente ya aparece la ruta admin/
y ahora añadiremos la nuestra.
Nuestra ruta se añadirá indicando el paht como vacío (comillas comillas) '' lo que indica que se trata de la ruta principal o raiz del proyecto.
Luego pondremos la función hello, pero para que funcione tenemos que importarla con la línea from myapp.views import hello
que indica dónde se encuentra esa función y cómo se llama. La función se llama hello
y está situada en myapp.views
Finalmente el código queda así:
from django.contrib import admin
from django.urls import path
from myapp.views import hello
urlpatterns = [
path('admin/', admin.site.urls),
path('', hello),
]
Grabamos archivos y lanzamos el servidos o actualizamos la página localhost si ya estaba lanzado el servidor.
También es posible escribir en código HTML dentro de la respuesta. Por ejemplo, poniendo una etiqueta h1 y en cursiva.
from django.http import HttpResponse
# Create your views here.
def hello(request):
return HttpResponse("<h1><i>Hello World</i></h1>")
Recargamos la página y vemos el resultado.
Otra forma de importar la vista que proporciona la función hello
consiste en importar todas las vistas con from myapp import views
y luego indicar que la función hello
pertenece a views
poniéndolo así views.hello
El código en el archivo urls.py
quedaría así.
from django.contrib import admin
from django.urls import path
from myapp import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.hello),
]
Añadiendo una nueva ruta
Vamos a añadir una nueva ruta denominada about
. Para ello necesitamos modificar los archivos myapp/views.py
y mysite/urls.py
Veamos estos archivos.
myapp/views.py
from django.http import HttpResponse
# Create your views here.
def hello(request):
return HttpResponse("<h1>Hello World</h1>")
def about(request):
return HttpResponse("Esta es la página de about")
mysite/urls.py
from django.contrib import admin
from django.urls import path
from myapp import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.hello),
path('about/', views.about),
Actualizamos la página y pulsamos en el navegador Chrome F12. Así, en "Elementos" veremos el código de nuestra página.
No hay comentarios:
Publicar un comentario