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

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

本文详细介绍如何使用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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。