以下是如何在 Django 中实现一个网页来计算两个数字的和,并在后台处理计算过程的详细步骤:
1. 创建 Django 项目和应用
首先,在你的 Django 项目中创建一个新的应用,例如 calculator
:
sh
django-admin startproject myproject
cd myproject
python manage.py startapp calculator
2. 配置 Django 项目
2.1 修改 settings.py
在 settings.py
中,将新创建的应用 calculator
添加到 INSTALLED_APPS
列表中:
python
INSTALLED_APPS = [
...
'calculator',
]
2.2 修改 urls.py
在项目的 urls.py
中,将根 URL 映射到 calculator
应用:
python
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('calculator.urls')), # 将根 URL 映射到 calculator 应用
]
3. 创建 calculator
应用的 URL 和视图
3.1 创建 calculator/urls.py
在 calculator
应用目录中创建 urls.py
文件,并设置 URL 路由:
python
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'), # 设置首页
path('calculate/', views.calculate, name='calculate'), # 设置计算路径
]
3.2 创建 calculator/views.py
在 calculator/views.py
中创建视图函数:
python
from django.shortcuts import render
from django.http import JsonResponse
def index(request):
return render(request, 'calculator/index.html')
def calculate(request):
if request.method == 'POST':
a = int(request.POST.get('a', 0))
b = int(request.POST.get('b', 0))
result = a + b
return JsonResponse({'result': result})
return JsonResponse({'error': 'Invalid request'}, status=400)
4. 创建模板
4.1 创建模板目录
在 calculator
应用目录下创建 templates/calculator/
目录:
sh
mkdir -p calculator/templates/calculator
4.2 创建 calculator/templates/calculator/index.html
创建 index.html
文件,并编写前端代码:
html
<!DOCTYPE html>
<html>
<head>
<title>Calculator</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<h1>Calculator</h1>
<form id="calculator-form">
<label for="a">Enter number a:</label>
<input type="number" id="a" name="a" required>
<br>
<label for="b">Enter number b:</label>
<input type="number" id="b" name="b" required>
<br>
<button type="submit">Calculate</button>
</form>
<h2>Result: <span id="result"></span></h2>
<script>
$(document).ready(function(){
$('#calculator-form').on('submit', function(event){
event.preventDefault();
$.ajax({
url: "{% url 'calculate' %}",
type: "POST",
data: {
'a': $('#a').val(),
'b': $('#b').val(),
'csrfmiddlewaretoken': '{{ csrf_token }}'
},
success: function(response){
$('#result').text(response.result);
},
error: function(response){
$('#result').text('Error');
}
});
});
});
</script>
</body>
</html>
5. 配置 CSRF 中间件
确保你的 settings.py
中包含 CSRF 中间件:
python
MIDDLEWARE = [
...
'django.middleware.csrf.CsrfViewMiddleware',
...
]
6. 运行 Django 开发服务器
在终端中,导航到你的项目目录,并运行 Django 开发服务器:
sh
python manage.py runserver
现在,你可以访问 http://127.0.0.1:8000
来查看你的计算器网页。输入两个数字,点击“Calculate”按钮,结果会在页面上显示。