Python Django教程之实现新闻应用程序

Nora
Nora
发布时间:2026-10-16 | 6人浏览过
原创

本文详细介绍如何使用Python Django框架结合NewsAPI构建一个新闻聚合Web应用。内容涵盖项目初始化、API密钥配置、视图逻辑编写、HTML模板渲染以及URL路由映射,帮助开发者快速掌握Django后端与前端数据交互的核心流程。

Django新闻应用概述

Django是一个基于Python的高级Web框架,旨在简化服务器端Web应用程序的开发。本文将指导读者如何利用Django创建一个功能完整的新闻应用程序。

环境准备与API集成

我们将集成News API以获取最新的头条新闻。请在命令提示符或终端中按照以下步骤进行操作:

项目目录结构配置

使用文本编辑器打开新闻项目文件夹,确保目录结构符合规范,具体结构如下图所示:

模板路径设置

在新闻应用目录下创建一个名为“templates”的文件夹,并在settings.py文件中配置模板路径。

在settings.py文件中添加模板目录配置,确保Django能正确找到HTML文件。

在views.py文件中定义视图函数。首先导入NewsApiClient,然后创建一个名为index的视图,该视图接收HTTP请求并返回渲染后的HTML响应。具体实现如下:

视图逻辑实现

# 导入 api
from django.shortcuts import render
from newsapi import NewsApiClient

# 在此处创建视图。
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" rel="external nofollow"  integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<!-- Optional theme -->
</head>
<body>
	<div class="jumbotron" style="color:black">

	<h1 style ="color:white">
在我们的网站上获取最新消息
	</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中,以配置URL路由规则。

URL路由映射

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 Django实现新闻应用程序的教程已完成。如需了解更多Python Django新闻应用相关内容,请查阅本站往期文章或继续浏览后续教程,感谢支持!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表