私のurls.py
ファイルには、次のものがあります。
from myapp import views
...
(r'^categories/$', views.categories)
categories
内のビュー関数はどこにありますかmyapp/views.py
。他の URLconf 行は を参照しませんviews.categories
。
単体テスト ファイルでは、django.core.urlresolvers.reverse()
'/categories/' (DRY など) をコピーするだけでなく、 を使用してこの URL を取得しようとしています。ので、私は持っています:
from django.core.urlresolvers import reverse
from myapp import views
...
url = reverse(views.categories)
テストを実行すると、次のNoReverseMatch
エラーが表示されます。
NoReverseMatch: Reverse for '<function categories at 0x1082f30>' with arguments '()' and keyword arguments '{}' not found.
次のように、URL パターンを名前付きパターンにすると、うまく一致します。
url(r'^categories/$', views.categories, 'myapp-categories')
パターン名を使用して一致させます。
url = reverse('myapp-categories')
しかし、reverse
ドキュメントからわかる限り、使用するためだけに名前付き URL パターンにする必要はありませんreverse
。
私が間違っていることはありますか?