📅  最后修改于: 2023-12-03 14:49:38.815000             🧑  作者: Mango
在这个指南中,我们将使用 Django 框架创建一个 Word Counter 应用程序。Word Counter 应用程序将接收用户提交的文本,并计算并展示文本中的字、词和句子的数量。
我们将用到以下主要技术:
首先,确保已经安装了 Django。在命令行中运行以下命令来创建一个新的 Django 项目:
$ django-admin startproject wordcounter
然后切换到项目目录:
$ cd wordcounter
接下来,创建一个新的 Django 应用程序:
$ python manage.py startapp counter
该命令将在项目目录中创建一个名为 counter
的新应用程序目录。
在 Django 中,我们使用模型来定义数据结构。在 counter
应用程序的目录中,打开 models.py
文件并定义一个名为 Text
的模型:
from django.db import models
class Text(models.Model):
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
在上面的模型中,我们定义了一个 Text
模型,其中包含一个 content
字段用于存储用户输入的文本内容,以及一个自动设置为当前日期和时间的 created_at
字段。
在 Django 中,视图负责处理用户请求并返回相应的内容。在 counter
应用程序的目录中,打开 views.py
文件并添加以下代码:
from django.shortcuts import render
from .models import Text
def home(request):
if request.method == 'POST':
content = request.POST.get('content', '')
Text.objects.create(content=content)
texts = Text.objects.all()
return render(request, 'counter/home.html', {'texts': texts})
上面的代码定义了一个名为 home
的视图函数。如果用户提交了文本内容,该函数将创建一个新的 Text
对象并将其保存到数据库中。然后,它将检索所有已保存的 Text
对象并将它们作为上下文传递给名为 home.html
的模板。
在 Django 中,我们使用模板来定义应用程序的用户界面。在 counter
应用程序的目录中,创建一个名为 templates
的新目录,然后在其中创建一个名为 counter
的新目录。在 counter
目录中,创建一个名为 home.html
的新文件,并添加以下代码:
<!DOCTYPE html>
<html>
<head>
<title>Word Counter</title>
<link rel="stylesheet" type="text/css" href="{% static 'counter/styles.css' %}">
<script src="{% static 'counter/script.js' %}"></script>
</head>
<body>
<h1>Word Counter</h1>
<form method="POST" action="{% url 'home' %}">
{% csrf_token %}
<textarea name="content" placeholder="Enter your text here"></textarea>
<button type="submit">Count</button>
</form>
<ul>
{% for text in texts %}
<li>{{ text.content }}</li>
{% empty %}
<li>No texts yet.</li>
{% endfor %}
</ul>
</body>
</html>
上面的模板代码定义了一个简单的用户界面,包括一个文本区域和一个计数按钮,用于提交用户输入的文本。它还使用循环遍历所有已保存的 Text
对象,并将它们显示为一个无序列表。
要使视图可用,我们需要在 URL 配置中将其映射到相应的 URL。在项目的根目录中,打开 urls.py
文件并添加以下代码:
from django.urls import path
from counter.views import home
urlpatterns = [
path('', home, name='home'),
]
上面的代码将空路径映射到 home
视图。
最后,我们可以运行 Django 的开发服务器来查看和测试我们的应用程序。在命令行中运行以下命令:
$ python manage.py runserver
在浏览器中访问 http://localhost:8000
,您将看到 Word Counter 应用程序的界面。
通过按照以上步骤创建 Django Word Counter 应用程序,我们成功地构建了一个简单的应用程序,它可以接收用户提交的文本,并计算并展示文本中的字、词和句子的数量。
请注意,我们只实现了基本的计数功能。您可以进一步扩展该应用程序来增加更多功能,例如搜索和排序功能、用户认证和权限控制等。
该应用程序的完整代码示例可在 GitHub 上找到。