Reputation: 1197
I want a reverse url into a variable. I have to apps. one account and another profiles.
my main url
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^$', views.index, name='index'),
url(r'^account/', include('account.urls', namespace="account")),
url(r'^profiles/', include('profiles.urls', namespace="profiles")),
)
my profiles app url
urlpatterns = patterns('',
url(r'^view/(?P<username>\w+)/$', views.profile, name="profile"),
)
my account app url
urlpatterns = patterns('',
url(r'^message/add_new/$', views.new_message, name='new_message'),
)
my account app view
def new_message(request):
if request.user.is_authenticated():
sender_username = request.user.username
sender_url = reverse('prfiles.views.profile', args=(sender_username,))
but I got 'NoReverseMatch at
' error. Please suggest me a better way to solve this.
Upvotes: 1
Views: 591
Reputation: 369064
IMHO, prfiles.views.profile
seems like typo.
Fix typo (if it is) or use the URL pattern name instead of the view name.
sender_url = reverse('profiles:profile', args=(sender_username,))
See Reversing namespaced URLs | Django documentation.
Upvotes: 1