Django NoReverseMatch错误,反向函数不工作,不使用参数

2024-04-26 10:58:49 发布

您现在位置:Python中文网/ 问答频道 /正文

这个NoReverseMatch错误快把我逼疯了。我使用的是django1.6,我检查了我的url,但它不起作用。请在这方面给我指点。在

我基本上想做一些非常简单的事情,就在我提交一个html表单时,我得到了我想要的数据,然后重定向到一个结果页面,但是它不起作用。。。在

这是我的索引.html文件

<form name="input" action="{% url 'whatspring:sending' %}" method="post">
{% csrf_token %}
    Recipient: <input type="text" name="usrname"> 
    <br>
<input type="submit">
</form>
<br>

我的视图.py在

^{pr2}$

然后我的应用程序网址.py在

from django.conf.urls import patterns, url
from springsend import views

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^results/$', views.results, name='results'),
)

和主要的网址.py在

from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',

    url(r'^admin/', include(admin.site.urls)),
    url(r'^send/', include('springsend.urls', namespace="whatspring")),
)

我已经尝试过去调查这个问题,但是reverse函数似乎无法获得我想要的反向url的名称(即名称空间“whatspring”下的“results”)我是否遗漏了一些琐碎的内容?请帮忙。在


Tags: djangonamefrompyimporturlinputinclude
1条回答
网友
1楼 · 发布于 2024-04-26 10:58:49

您的urls.py(springsend one)似乎没有sending视图的url,这可能就是{% url 'whatspring:sending' %}找不到的原因。在

只需将其更改为

from django.conf.urls import patterns, url
from springsend import views

urlpatterns = patterns('',
    url(r'^$', views.index, name='index'),
    url(r'^results/$', views.results, name='results'),
    url(r'^sending/$', views.sending, name='sending'), # this line
)

每个可访问的视图都需要一个url。用户的浏览器需要有一些地址来发送东西。如果它只是将它发送到没有url的域,Django将无法分辨请求哪个url。Django不会自动生成这些url(这可能很好)。在

(用户自己不需要知道这个url;您不需要在任何地方放置任何链接。)

相关问题 更多 >