Python Django新闻应用程序

Python Django新闻应用程序

Django是一个用Python编写的高级框架,它允许我们创建服务器端的Web应用程序。在这篇文章中,我们将看到如何使用Django创建一个新闻应用程序。
我们将使用News Api并从api中获取所有头条新闻。在这里阅读更多关于api的信息 news api .
在命令提示符或终端中执行以下步骤。

Python Django新闻应用程序

用一个文本编辑器打开新闻项目文件夹。该目录结构应该是这样的

Python Django新闻应用程序

在你的newsapp中创建一个 “模板 “文件夹,并将其放在settings.py中。
Settings .py

Python Django新闻应用程序

在views.py中 –
在视图中,我们创建了一个名为index的视图,它接收一个请求,并将一个html作为响应。首先,我们从NewsApiClient导入newsapi。

# 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})

在templates文件夹中创建一个index.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>

现在将视图映射到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),
]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Django 教程