我正在尝试使用以下代码在 django/python 中处理表单。
主页.html:
<form action="{% url 'home:submit' %}" method='post'>
意见.py:
def submit(request):
a = request.POST(['initial'])
return render(request, 'home/home.html', {
'error_message': "returned"
})
网址.py:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^submit/$', views.submit, name='submit')
]
当我尝试在浏览器中运行它时出现错误:
NoReverseMatch at /home/ u'home' is not a registered namespace
和另一条错误消息,指示表单有问题。
原文由 Programmerr 发布,翻译遵循 CC BY-SA 4.0 许可协议
您应该只更改模板中的操作网址:
关于 url 命名空间…
为了能够使用
home命名空间调用 url,您应该在主 urls.py 文件行中包含以下内容:对于 Django 1.x:
对于 Django 2.x 和 3.x