我想将反向网址转换为变量。我必须要使用应用程序。一个帐户和另一个配置文件。

我的主要网址

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")),
)


我的个人资料应用网址

urlpatterns = patterns('',
    url(r'^view/(?P<username>\w+)/$', views.profile, name="profile"),
)


我的帐户应用网址

urlpatterns = patterns('',
    url(r'^message/add_new/$', views.new_message, name='new_message'),

)


我的帐户应用程序视图

def new_message(request):
    if request.user.is_authenticated():
        sender_username = request.user.username
        sender_url = reverse('prfiles.views.profile', args=(sender_username,))


但出现“ NoReverseMatch at”错误。请建议我一个更好的方法来解决这个问题。

最佳答案

恕我直言,prfiles.views.profile看起来像错字。

修正拼写错误(如果有)或使用URL模式名称代替视图名称。

sender_url = reverse('profiles:profile', args=(sender_username,))


请参见Reversing namespaced URLs | Django documentation

09-26 16:11