ReverseMatch适用于jsonResponse但不适用于渲染

时间:2018-06-15 07:30:38

标签: python django url

我有一个新页面:

   def person(request, galid):
       bunch of stuff
       context = { blah blah }
   # return JsonResponse(context)
   return render(request, 'pops/person.html', context)

使用urls.py

   urlpatterns = [
       path('', views.index, name='index'),
       path('<slug:galid>' , views.person, name="person")
   ]

jsonResponse工作得很好时,将上下文对象返回到所需的galid字符串(十六进制字符串)。当我使用render时它会抛出:

   NoReverseMatch at /pops/7B909B19F98049948523899280807F9F
   Reverse for 'person' with arguments '('',)' not found. 1 pattern(s) 
   tried: ['pops\\/(?P<galid>[-a-zA-Z0-9_]+)$']

如果确实没有反向匹配,jsonResponse如何正常工作?这里发生了什么/哪里出错了?谢谢!

违规的href电话是:

    href="{% url 'pops:person' id %}"

其中id是十六进制字符串。

0 个答案:

没有答案