gpt4 book ai didi

python - django命名空间NoReverseMatch

转载 作者:行者123 更新时间:2023-12-01 05:06:15 24 4
gpt4 key购买 nike

我不知道我在这里做错了什么。我在 Ubuntu 14.04 上使用 Django 1.6.5 和 Python 2.7.6。我有一个名为研究的项目,其中包含一个名为记事卡的应用程序。这是我的研究/urls.py

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

urlpatterns = patterns('',
# Examples:
# url(r'^$', 'research.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),

url(r'^admin/', include(admin.site.urls)),
url(r'^notecards/', include('notecards.urls', namespace='notecards')),
)

这是在 notecards/views.py 中对其的调用

def new_note(request):
if request.method == 'GET':
form = NotecardForm()
else:
form = NotecardForm(request.POST)
if form.is_valid():
content = form.cleaned_data['content']
source = form.cleaned_data['source']
page = form.cleaned_data['page']
tags = form.cleaned_data['tags']
return HttpResponseRedirect(reverse('notecards:index', ()))

return render(request, 'notecards/new_note.html', {'form': form,
})

这是我收到的错误:u'notecards' 不是注册的命名空间。我一定错过了一些明显的东西,但我无法弄清楚。

最佳答案

在您的代码中,将 reverse('notecards:index', ()) 更改为 reverse('notecards:index')reverse 的签名是

reverse(viewname, urlconf=None, args=None, kwargs=None, prefix=None, current_app=None)

您可以看到 urlconf 错误地采用了 () 而不是 args 进行了它。

另外,看看django.shortcuts.resolve_url,正常使用更方便。

关于python - django命名空间NoReverseMatch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24971255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com