我们可以使用高级的Python框架Django构建服务器端的Web应用程序。在本教程中,我们将学习如何使用Django构建一个新闻应用程序。我们将使用News API来获取所有的头条新闻。您可以访问News API的网站以了解更多信息。

强大而灵活的Django REST框架是用于创建Web API的框架。用户可以使用这个Python脚本创建一些非常酷和令人惊叹的Web应用程序。在本博文中,我们将探讨如何从头开始在Django中构建一个新闻应用程序。您也应该向大家展示这个项目。回到我们的项目中,我们将使用News API来获取新闻。

术语“应用程序编程接口”,有时被称为“API”,在今天经常被使用。API意味着提供一个接口,使得多个程序之间可以共享数据或进行通信。当您使用社交媒体平台如Facebook来交换即时消息,或使用手机天气应用来查看天气时,您就在使用API。

创建一个名为“templates”的文件夹在您的newsapp设置中。

代码部分:

# 导入所需的API
from django.shortcuts import render
from newsapi import NewsApiClient

# 在这里创建我们的视图。
def index(req):
    newsapi = NewsApiClient(api_key='YOURAPIKEY')
    top = newsapi.get_top_headlines(sources='techcrunch')
    l = top['articles']
    descri = []
    news = []
    img = []
    for i in range(len(l)):
        fj = l[i]
        news.append(fj['title'])
        descri.append(fj['description'])
        img.append(fj['urlToImage'])
    mylistin = zip(news, descri, img)
    return render(req, 'index.html', context={"mylist": mylistin})

在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-ggOysewffegv3Xipma34MD+dH/1frf84/j6cY/iJTQerg4e5y56yu59JvoRxT2MZw1T" crossorigin="anonymous">
  <!-- 可选主题 -->
</head>
<body>
  <div class="megatron" style="color:black">
    <h1 style="color:white">在我们的网站上找到最新的新闻。</h1>
  </div>
  <div class="container">
    {% for new, des, i in mylistin %}
      <img src="{{ i }}" alt="">
      <h1>新闻:</h1> {{ new }}
      {{ des|linebreaks }}
      <h4>描述:</h4>{{ des }}
      {{ des|linebreaks }}
    {% endfor %}
  </div>
</body>
</html>

现在将视图映射到urls.py:

from django.contrib import admin
# 导入urls
from django.urls import path
from newsapp import views

urlpatterns = [
    path('', views.index, name='index'),
    path('admin/', admin.site.urls),
]

输出:

4.png

标签: django语言, django教程, django技术, django学习, django学习教程, django下载, django开发, django入门教程, django进阶教程, django高级教程, django面试题, django笔试题, django编程思想