python - 表单提交在带有 python 2.7 的 Django 1.11 中不起作用
问题描述
我是 Django 新手。我有 python2.7 和 django 1.11 版本,我能够显示主页等。但是当尝试创建表单并提交它时不会重定向到任何页面
网址.py
from django.conf.urls import include
from . import views
from django.conf.urls import url
urlpatterns = [
url("",views.home, name="home"),
url("add",views.add,name="add")
]
主页.html
{%extends 'base.html' %}
{%block content %}
<H1> hello world 2 {{name}} </H2>
<form action="/add">
Enter 1st number : <input type="text" name = "num1"><br>
Enter 2nd number : <input type="text" name = "num2"><br>
<input type = "submit">
</form>
视图.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def home(request):
x = ' Hello World'
return render(request,'home.html',{'name' : 'Test Name'} )
# return HttpResponse(x)
def add(request):
print('testing')
val1 = request.GET['num1']
val2 = request.GET['num2']
res = val1 + val2
print(res)
return render(request,"results.html",{'result' : res})
results.html 是一个测试页面。一旦我点击提交,它就不会在结果页面上显示任何东西。url.py 有什么问题吗
解决方案
我不完全确定,但我猜这与您的 URL 的声明方式有关。特别是您的“/add/”网址。
我通读了https://docs.djangoproject.com/en/1.11/topics/http/urls/#example,似乎将 url 路径视为正则表达式很重要。我也相信斜杠很重要——我肯定会尝试添加它,因为这很可能是你的问题。
url(r"^add/$",views.add,name="add")
推荐阅读
- express - 将一对多表的连接右侧转换为knex中的数组
- flutter - Flutter中两个或多个点之间的垂直虚线
- angular - 未捕获的 ReferenceError:__importDefault 未定义;转到 Angular 9 之后
- javascript - 为什么说 found.remove() 不是函数
- lua - 与 wrk2 基准测试工具有关的延迟和请求问题
- css - 代号一 - 如何在 CSS 中设置溢出及其命令的样式
- mysql - 如何在 Bash 中捕获 MySQL 语法错误,$?对我不起作用
- typescript - 为什么我可以在 Typescript 中动态创建索引?
- java - 使用java将java字符串转换为geojson
- django - Django如何检查IntegerField中的空值?