GAEを外す際に、URLルーティングが動作しなかった件

GAEを外して普通のWebアプリに移行している際に、GAEでは問題なかったDjangoのURLルーティングの逆引きが、NoReverseMatchエラーが発生して動かなくなりました。動かなくなった時点では以下のような感じでした。

--- ファイル: urls.py ---

from polls import views
urlpatterns = patterns('',
    (r'^polls/$', views.index),
    (r'^polls/(?Pd+)/$', views.detail),
)
--- ファイル: views.py ---

from django.core.urlresolvers import reverse

def hoge(request):
    reverse('polls.views.index') # 以前は'/polls/'が返ってきていました。

これはDjangoのtutorialの通りのURLルーティングに直すか、urls.pyを以下のように修正することで動くようになりました。

--- ファイル: urls.py ---

from polls import views
urlpatterns = patterns('',
    url(r'^polls/$', views.index, name='polls.views.index'),
    url(r'^polls/(?Pd+)/$', views.detail, name='polls.views.detail'),
)
--- ファイル: views.py ---

from django.core.urlresolvers import reverse

def hoge(request):
    reverse('polls.views.index') # '/polls/'
    reverse('polls.views.detail', args=(1,)) # '/polls/1/'

なお、参考にしたのは、StackOverflowの投稿Djangoのドキュメント

この記事が役に立った場合、シェアしていただけると励みになります!!