2

私は遭遇していますReverse for 'home' with arguments '()' and keyword arguments '{}' not found.これは、引数をとらず、テンプレートに引用符がある場合とない場合の名前が付けられたビューで発生します。これは本番サーバーでのみ発生し、開発環境では発生しません。どちらもDjango1.4を実行します。

トップレベルの引数のないビューについて、次のエントリがありますurls.py

url(r'^course_catalog/', include('course_catalog.urls')),

course_catalog/urls.py

urlpatterns = patterns('course_catalog.views',
    url(r'^$', 'index', name="home"),
    ...

いくつかのテンプレートにも次のものがあります

<a href="{% url home %}">

私もこれをmanage.pyシェルで試しました:

>>> from django.core.urlresolvers import reverse
>>> reverse('home')
'/course_catalog/'

したがって、テンプレートが提供されたときなどにのみ発生するようです。ちなみに、URLに移動すると、ビュー自体は機能します。

この時点でどこを見ればいいのかよくわかりません。

これを引き起こしている可能性のあるアイデアはありますか?ありがとう!

4

1 に答える 1

1

引数'()'を使用して''home''を逆にします

{% url 'home' %}がないテンプレートで実行しているようです{% load url from future %}。それは、djangoがdouble-single-quoteである理由を説明します''home''。あなたがやっていたかのようにreverse("'home'")

于 2012-10-23T14:00:16.827 に答える