Django es un marco de trabajo de alto nivel escrito en Python que nos permite crear aplicaciones web del lado del servidor. En este artículo, veremos cómo crear una aplicación de noticias usando Django.
Usaremos News Api y obtendremos todos los titulares de noticias de la API. Lea más sobre la api aquí news api .
Realice los siguientes pasos en el símbolo del sistema o terminal:
Abra la carpeta del proyecto de noticias con un editor de texto. La estructura del directorio debería verse así
Cree una carpeta de «plantillas» en su aplicación de noticias y en settings.py
Settings .py
En views.py:
en las vistas, creamos una vista llamada índice que toma una solicitud y muestra un html como respuesta. En primer lugar, importamos newsapi desde NewsApiClient.
# importing api from django.shortcuts import render from newsapi import NewsApiClient # Create your views here. def index(request): newsapi = NewsApiClient(api_key ='YOURAPIKEY') top = newsapi.get_top_headlines(sources ='techcrunch') l = top['articles'] desc =[] news =[] img =[] for i in range(len(l)): f = l[i] news.append(f['title']) desc.append(f['description']) img.append(f['urlToImage']) mylist = zip(news, desc, img) return render(request, 'index.html', context ={"mylist":mylist})
Cree un index.html en la carpeta de plantillas .
html
<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <!-- Optional theme --> </head> <body> <div class="jumbotron" style="color:black"> <h1 style ="color:white"> Get The latest news on our website </h1> </div> <div class="container"> {% for new, des, i in mylist %} <img src="{{ i }}" alt=""> <h1>news:</h1> {{ new }} {{ value|linebreaks }} <h4>description:</h4>{{ des }} {{ value|linebreaks }} {% endfor %} </div> </body> </html>
Ahora asigne las vistas a urls.py
from django.contrib import admin from django.urls import path from newsapp import views urlpatterns = [ path('', views.index, name ='index'), path('admin/', admin.site.urls), ]
Su salida del proyecto debería verse así:
Publicación traducida automáticamente
Artículo escrito por Thirumalaisrinivasan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA