Python | Aplicación de noticias Django

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *