テンプレートをレンダリングしているときに、パスではなく名前空間の値を指定して、テンプレートのURLを取得したいと思います。たとえば、これの代わりに:
return render(request, 'base/index.html', {'user':name})
私は次のことができるようになりたいです:
from django.shortcuts import render
from django.core.urlresolvers import reverse
return render(request, reverse('base:index'), {'user':name})
ただし、上記ではエラーが発生します。どうすればいいですか?関数に名前空間を与えて実際のパスを取得する方法はありますか?
拡張例:
--urls.py
from django.conf.urls.defaults import patterns, include, url
urlpatterns = patterns('',
url(r'^', include('base.urls', namespace='base')),
)
-アプリベース:urls.py
from django.conf.urls.defaults import patterns, url
urlpatterns = patterns('base.views',
url(r'^/?$', 'index', name='index'),
)
-アプリベース:views.py
from django.shortcuts import render
from django.core.urlresolvers import reverse
def homepage(request):
'''
Here instead of 'base_templates/index.html' i would like to pass
something that can give me the same path but by giving the namespace
'''
return render(request, 'base_templates/index.html', {'username':'a_name'})
前もって感謝します。