You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django开发加法功能遭遇404错误及路径问题求助

解决你的Django加法功能404及相关问题

看起来你遇到的核心问题是根路径(/)没有对应的视图处理,同时还有几个细节问题会影响功能正常运行,我一步步帮你梳理解决:

1. 修复根路径404问题

你访问http://127.0.0.1:8000/时出现404,是因为calc/urls.py里只定义了add路径,没有处理根路径的视图。我们需要给根路径添加对应的视图来展示表单页面:

第一步:给calc/views.py添加首页视图

from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    # 渲染首页的表单页面
    return render(request, "index.html")

def add(request):
    val1=request.GET['num1']
    val2=request.GET['num2']
    # 注意:要转成数值类型再相加,否则会变成字符串拼接
    res=int(val1)+int(val2)
    return render(request,"result.html",{'result':res})

第二步:修改calc/urls.py,添加根路径映射

from django.urls import path
from . import views
urlpatterns = [
    path('', views.index, name='index'),  # 根路径对应首页视图
    path('add/', views.add, name='add'),  # 建议加结尾斜杠,符合Django路径规范
]

2. 修复表单路径硬编码问题

你的index.html里表单的action="add"是相对路径,建议用Django的{% url %}模板标签生成路径,避免路径错误:

{% extends 'base.html' %}
{% block content %}
<form action="{% url 'add' %}">
enter ist num: <input type="text" name="num1"><br>
enter 2nd num : <input type="text" name="num2"><br>
<input type="submit">
</form>
{% endblock %}

3. 修复数值相加的逻辑bug

你当前views.py里的res=val1+val2是把两个字符串拼接(比如输入1和2会得到"12"而非3),需要转成整数(或浮点数)再相加,还可以加个异常处理防止用户输入非数字:

def add(request):
    try:
        val1 = int(request.GET['num1'])
        val2 = int(request.GET['num2'])
        res = val1 + val2
    except ValueError:
        res = "请输入有效的数字"
    return render(request,"result.html",{'result':res})

4. 验证现有配置

你的new12/urls.py和settings.py配置是正确的——已经把calc加入INSTALLED_APPS,并且通过include关联了应用的URL,这部分不需要调整。

现在重启Django服务器,访问http://127.0.0.1:8000/就能看到表单,输入数字提交后就能得到正确的相加结果了。

内容的提问来源于stack exchange,提问作者neha samala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:13:15