使用 Django 创建一个字数统计应用

2025 年 5 月 18 日 | 阅读 7 分钟

Django 是一个强大的框架,广泛用于快速有效地创建 Web 应用程序。 Django 提供了内置功能,如 ORM(对象关系模型)、URL 路由和直观的模板引擎。 Django 简化了开发过程,这使得它成为创建各种规模 Web 应用程序的绝佳选择。 在本文中,我们将使用 Django 的强大功能创建一个简单的字数统计器应用程序。 该应用程序将允许用户输入一段文本,提交文本后,它将分析输入并显示总字数。 对于那些刚开始学习 Django 的程序员来说,这是一个很棒的项目,可以亲身体验 Django 的基本组件,例如

  • 设置 Django 项目和应用程序
  • 定义视图和用户输入处理
  • 使用 Django 的模板语言创建模板
  • 设置 URL 和渲染响应

在本文的最后,您将能够创建一个完全功能的 Web 应用程序,用于计算任何给定文本中的总字数。 该项目将帮助开发人员了解 Django 如何处理 HTTP 请求、数据如何从前端传递到后端以及如何有效地构建 Django 项目。

什么是 Django?

Django 是一个用 Python 编写的高级 Web 框架,它提供了快速的开发和简洁的 Web 应用程序设计。 它的开发旨在让开发人员以最少的精力创建强大且可扩展的 Web 应用程序,从而减少重复编码的需求。 Django 展现了可重用性、灵活性和安全性,这使其成为初学者和经验丰富的开发人员的首选。

Django 的架构模式:模型-视图-模板 (MVT)

Django 使用 模型-视图-模板 (MVT) 模式,这与在其他框架中常用的 模型 视图控制器 (MVC) 架构非常相似。 这些架构之间的主要区别在于,Django 框架会自动处理大部分控制逻辑,这使得开发人员能够专注于定义模型、视图和模板。

模型 (M): Django 的对象关系映射器 (ORM) 显示了数据库的结构并定义了其模式。 开发人员无需从头开始编写 SQL 查询,而是可以将模型定义为 Python 类,Django 会将其转换为数据库表。

视图 (V): 视图管理业务逻辑并处理用户请求。 视图从模型中提取数据,应用任何所需的逻辑,并将其传递给模板进行渲染。

模板 (T): 它定义了表示层并控制数据在用户界面中的显示方式。 Django 的模板引擎允许开发人员将数据动态插入到 HTML 页面中。

Django 的主要特点

Django 提供了各种内置功能,以简化开发过程,其中包括

  1. 对象关系映射器 (ORM): Django 的 ORM 允许开发人员使用 Python 代码与数据库交互,而不是编写 SQL 查询。 它支持各种数据库后端,如 PostgreSQL、MySQL、SQLite 和 Oracle。
  2. 身份验证系统: Django 提供了强大的身份验证系统,包括用户管理、登录/注销功能、密码哈希和权限处理。
  3. 管理面板: Django 最强大的功能是它具有内置的管理界面,使开发人员无需编写额外的代码即可处理数据库记录。
  4. 可扩展性和性能: Django 的开发旨在高效地管理高流量应用程序,这使其适用于小型项目和大型 Web 应用程序。
  5. 安全功能: Django 包含针对常见 Web 漏洞的内置保护,例如 SQL 注入、跨站点脚本攻击 (XSS)、跨站点请求伪造 (CSRF) 和点击劫持。
  6. URL 路由: Django 框架提供了一种直观的方式,可以通过简洁易读的语法定义和处理 URL。
  7. 模板引擎: Django 的模板系统允许开发人员开发动态 HTML 页面,同时将逻辑与表示层分开。
  8. 内置缓存技术: Django 支持缓存策略,通过最大限度地减少数据库查询来优化应用程序的性能。
  9. 表单处理: Django 简化了表单处理,包括验证和渲染,这使得处理用户输入变得容易。
  10. 国际化和本地化: Django 提供了将应用程序翻译成各种语言并根据地区设置格式化内容的工具。

为什么选择 Django?

由于其可扩展性、安全性和快速开发能力,Django 广泛应用于初创企业和大型企业。 一些使用 Django 的公司包括 Instagram、Pinterest、Mozilla、Disqus 和 Dropbox。 凭借其“电池已包含”的理念,Django 移除了手动配置各种重要组件的要求,这使得开发人员能够专注于快速高效地创建高质量的 Web 应用程序。 无论您是创建个人博客、电子商务平台还是复杂的数据驱动型 Web 应用程序,Django 都提供了将想法变为现实应用程序的必要工具。

什么是字数统计器?

字数统计器是一种用于计算给定段落中单词数量的工具。 它主要供作家、学生、专业人士和所有需要获取内容长度的人使用。 这个字数统计器有助于记录需要冗余的文档,例如文章、报告,甚至社交媒体帖子。 此外,字数统计器通过提供对字数长度的见解来帮助保持其清晰和简洁。 他们甚至还具有其他重要功能,如字符计数器和可读性分析关键词密度跟踪,同时优化写作的功效,因此使其成为逐步创建 Django 字数统计应用程序的非常相关的指南。

步骤 1:设置 Django 项目

要开始该项目,首先使用 pip 命令在您的系统中安装 Django 框架

代码

在系统中安装 Django 后,借助以下命令创建一个新的 Django 项目。

命令

使用此命令,将创建一个名为 wordcounter 的新文件夹。 现在,通过输入命令导航到此 word counter 文件夹

命令

步骤 2:创建 Django 应用程序

现在,为了在 Django 中执行项目,我们为项目创建一个应用程序,因此要在项目目录中创建一个新的 Django 应用程序,请编写创建应用程序的命令

命令

通过输入此命令,您现在将能够看到一个名为 counter 的新文件夹。 要将此应用程序添加到您的项目中,请将新应用程序添加到 setting.py 文件中的 INSTALLED_APPS 列表中

代码

在列表的最后一个元素中,我们已将我们的应用程序添加到 INSTALLED_APPS 中。

步骤 3:创建模型

这是一个简单的应用程序; 我们不需要模型,因为我们不处理数据库中的任何类型的数据。 但是,如果要扩展应用程序的功能以保存文本和字数统计,您可以在 models.py 文件中创建一个模型。

步骤 4:创建视图

在 counter/views.py 文件中,创建一个视图以处理文本输入并计算单词。

views.py

说明

上面的 word_counter 视图函数代码接受 GET 和 POST 请求。 在确定请求方法为 POST 后,它从表单中的文本中检索输入,使用字符串拆分来计算单词,然后继续使用 wordcount 对 result.html 模板进行渲染。 如果是 GET 请求,那么它只是渲染 index.html 模板,用户可以在其中输入文本。

步骤 5:创建模板

在 counter 应用程序中,创建一个模板目录。 然后,在此目录内,添加两个 HTML 文件:index.html 和 result.html。

Index.html

说明

index.html 文件用于为字数统计器应用程序创建一个简单的表单。 它包含一个 <textarea>,供用户输入文本,以及一个提交按钮,用于使用 POST 请求发送数据。 {% csrf_token %} 可确保防范跨站点请求伪造 (CSRF) 攻击。 提交表单后,表单将文本输入发送到 Django 视图进行处理。

Result.html

说明

HTML 文件 (result.html) 在用户提交文本表单后显示文本的字数统计。 它使用从 Django 视图传递的 {{ word_count }} 动态插入字数统计。 使用 {% url 'word_counter' %} 添加了一个链接以返回到输入页面。

步骤 6:配置 URL

在 counter/urls.py 中,为 word_counter 视图设置 URL。

Counter/urls.py

说明

上面的代码用于定义 Django 中 counter 应用程序的 URL 的路由。 它从 Django.urls 和 views 模块导入 path。 模式列表将根 URL ('') 映射到 word_counter 视图,这为其分配了名称 'word_counter',以便在模板中轻松引用。

将 counter 应用程序的 URL 添加到项目的 urls.py 文件中。

Urls.py

步骤 7:运行服务器

要启动该应用程序,请运行 Django 开发服务器

命令

输出

Create a Word Counter App Using Django
Create a Word Counter App Using Django

打开浏览器并导航到 http://127.0.0.1:8000//。 字数统计器应用程序现在已准备好计算文本中的单词。 输入一些文本并单击“统计单词”按钮,该应用程序将显示文本中的单词数。