如何在Django中创建一个简单的计算器应用程序

发布时间 2023-07-03 08:38:15作者: 晓风晓浪

Django 是一个免费开源的 Python Web 框架,可帮助您快速开发安全且可维护的 Web 应用程序。

在本教程中,我将逐步指导您使用 django 创建计算器应用程序。

这是一个适合初学者的教程,因此如果您是 Django 新手,可以继续学习。

(更|多优质内|容:java567 点 c0m)

 

我们的计算器应用程序会是什么样子?

具有加、减、乘、除运算的计算器

您可以在此GitHub:/SampurnaC/calculator 存储库中获取完整代码。

如何设置 Django 计算器项目

假设您的系统上安装了 Django,我们现在将致力于创建项目。为此,您需要打开终端并使用以下命令:

 django-admin startproject calculator

此命令创建项目默认结构manage.py,其中包含 、 等文件,以及一个项目名称为包含settings.py、urls.py等文件的文件夹。我们将在开发应用程序时浏览这些文件。

项目创建完成后,我们需要将工作目录更改为项目目录。在 Linux 中,命令是cd calculator/.

下一步是创建一个calculatorapp使用以下命令命名的 Django 应用程序:

 python manage.py startapp calculatorapp

models.py该应用程序包含、views,py、admin.py、migrations等文件。

创建应用程序后,第一件重要的事情是将应用程序注册到文件INSTALLED_APPS列表中settings.py。

为此,您需要导航到settings.pyDjango 项目内的文件,即calculator本教程中的文件。该settings.py文件包含INSTALLED_APPS列表,您需要将应用程序名称添加到列表中。因此,该INSTALLED_APPS列表应如下所示:

 INSTALLED_APPS = [
     'calculatorapp',
     'django.contrib.admin',
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
 ]

现在应用程序已注册,我们已准备好处理该项目。

如何添加路线

现在,让我们开始添加路线。您需要urls.py在目录中创建一个文件calculatorapp。添加代码如下:

 from django.urls import path
 from . import views
 
 urlpatterns = [
     path('', views.home, name='home'),
 ]

在这里,您需要先导入pathfrom django.urls,然后再导入views。

在urlpatterns列表中,您需要传递您的视图函数,我们将很快创建该函数。

但首先,让我们将此应用程序 URL 文件注册到项目urls.py文件中。

因此,您需要打开urls.py计算器目录中的文件并添加以下代码:

 from django.contrib import admin
 from django.urls import path, include
 
 urlpatterns = [
     path('admin/', admin.site.urls),
     path('', include('calculatorapp.urls')),
 ]

这里,它包括 的 URL calculatorapp。如果您想为您的 添加任何新的 URL calculatorapp,您可以从文件中执行此操作calculatorapp/urls.py。

如何编写视图

现在,如果您尝试访问localhost:8000/URL,您将收到错误,因为它正在寻找home视图函数。/路线的视图函数是home,由于没有home视图,因此会出错。

访问根页面时终端出错

在 Django 中,有两种类型的视图:基于函数的视图和基于类的视图。在本教程中,我们将使用基于函数的视图,它们以def关键字开头。

要修复上述错误,您需要转到views.py其中的文件calculatorapp并创建一个home视图函数。

 def home(request):
     pass

如何将模板添加到应用程序

现在,如果您尝试访问该localhost:8000/URL,您将收到不同的错误。正如您从下面的屏幕截图中看到的,它正在寻找一些响应来返回。

浏览器查找视图响应时出错

pass因此,您需要渲染 HTML 模板,而不是像使用随机文本那样。模板用于呈现动态 HTML 内容。

 def home(request):
     return render(request, 'home.html')

正如您在视图中看到的home,它返回home.html模板。

现在,您需要在应用程序的根目录中创建一个模板文件夹,这calculatorapp在本教程中。

在此模板文件夹中,您需要创建一个home.html文件。

该home.html模板将包含带有不同计算器按钮的表单。

将home.html包含以下代码:

 <div class="center">
 <h1>Basic Calculator</h1>
 
 <form action="result">
     <input type="number" name="number1" placeholder="Enter first number">
     <br>
     <br>
     <input type="number" name="number2" placeholder="Enter second number">
     <br>
     <br>
     <button type="submit" name="add">Add</button>
     <button type="submit" name="subtract">Subtract</button>
     <button type="submit" name="multiply">Multiply</button>
     <button type="submit" name="divide">Divide</button>
 
 </form>
 </div>
 
 <style>
  .center {
     margin: auto;
     width: 60%;
     border: 3px solid #a5addb;
     padding: 10px;
  }
 </style>

上面的代码包含一个HTML带有两个输入字段和四个按钮的简单表单。有一些样式可以在中心显示代码并带有一些边框。

上面代码中需要注意的重要一点是<form action="result">,这意味着在提交表单时它将重定向到resultURL。

现在,如果您尝试在浏览器中执行任何操作,您将收到一个新错误,因为没有结果页面。

由于没有结果页面,按钮提交后抛出错误

如何添加结果页面的 URL

提交表单后,它正在寻找result path. 因此,下一步是创建视图result并为其添加模板和 URL。

更新后的urls.py文件如下:

 from django.urls import path
 from . import views
 
 urlpatterns = [
     path('', views.home, name='home'),
     path('result/', views.result, name='result'),
 
 ]

如何为结果视图添加模板代码

列表中的第二个 URLurlpatterns正在查找视图result。那么,我们现在就开始吧。首先,我将向您展示视图的代码result,然后解释每一行的作用。

 def result(request):
     num1 = int(request.GET.get('number1'))
     num2 = int(request.GET.get('number2'))
 
     
     if request.GET.get('add') == "":
         ans = num1 + num2
 
     elif request.GET.get('subtract') == "":    
         ans = num1 - num2
 
     elif request.GET.get('multiply') == "":    
         ans = num1 * num2
 
     else:
         ans = num1 / num2
 
     return render(request, 'result.html', {'ans': ans})

现在,我们来分解一下上面的代码:

  • 它从表单中获取的值number1和number2输入字段中获取值。

  • 然后它根据单击的按钮检查条件。

  • 由于所有按钮都有不同的名称,单击这些按钮会在 URL 中提供空字符串值。并在此基础上添加add、subtract、multiply和 的条件divide。

  • result.html它使用上下文呈现模板ans。Django 中的上下文是一个字典,其中包含可以传递给模板的键值对。

现在,您需要在文件夹result.html内创建一个文件templates并添加以下代码:

 <div class="center">
 The result is:
 <h1>{{ans}}</h1>
 
 <a href="{% url 'home' %}">Go Back</a>
 </div>
 <style>
  .center {
     margin: auto;
     width: 60%;
     border: 3px solid #a5addb;
     padding: 10px;
  }
 </style>

在这里,它显示 的值ans。它还包含home具有页面一些基本样式的 URL。

在 Django 中,双大括号{{}}用于显示变量的值。变量输出上下文中的值。

最后,我们完成了在 Django 中创建一个具有加法、减法、乘法和除法等基本功能的计算器应用程序。

结论

这是在 Django 中创建基本计算器应用程序的方法。

在本教程中,您了解了如何处理视图、模板、URL 以及使 Django 应用程序正常运行所需的配置。

我在这篇文章中没有讨论任何有关模型的内容。因此,如果您想将记录保存在数据库中,您可以进一步尝试。

我希望您觉得本教程有用。

(更|多优质内|容:java567 点 c0m)