【发布时间】:2014-07-23 19:07:23
【问题描述】:
这是关于错误的另一个问题:
Reverse for 'dataPoints' with arguments '()' and keyword arguments '{u'loadID': 5}' not found. 1 pattern(s) tried: [u'loads/dataPoints/']
我已经筛选了大量相关帖子,但似乎无法弄清楚发生了什么。问题是这样的:在使用 url 命名空间的应用程序中,当我尝试将关键字参数传递给 url 时,视图模板会失败并出现上述错误,但如果我使用位置参数则可以。
这就是给我上述错误的原因:
顶级urls.py:
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
...
url(r'^loads/', include(sig.views.data_loads.urls_data_loads, namespace="loads")),
url(r'^authentication/', include(sig.views.authentication.urls_authentication, namespace="authentication")),
url(r'^account/', include(sig.views.account.urls_account, namespace="account")),
)
用于“加载”的 urls.py:
urlpatterns = patterns('',
url(r'^dataPoints', views.DataPoints.as_view(), name='dataPoints')
)
模板.html:
<a href="{% url 'loads:dataPoints' loadID=5 %}">points</a>
然后它说它找不到相反的东西。根据我发现的一些相关线程,我尝试过:
- 尝试不带引号的链接,即 {% url loading:dataPoints ... %}(失败)
- 尝试了不同的正则表达式模式,例如url(r'^dataPoints(.)*) (还是找不到反向)
我可以通过使用位置参数轻松解决这个问题,但我无法弄清楚这真的让我很烦恼。我以前在应用程序中使用过这样的关键字 args,我想知道是否因为我使用的是 url 命名空间而出现问题?要么,或者更有可能,我正在做一些完全愚蠢的事情。
编辑:为 DataPoints 视图添加代码:
class DataPoints(TemplateView):
template_name = "data_loads/templates/dataPoints.html"
def get(self, request):
loadID = request.GET["loadID"]
return self.render_to_response({})
【问题讨论】:
-
您是否要覆盖视图
DataPoint的默认__init__?可以贴一下视图的代码吗? -
不,我不认为我在那里做任何时髦的事情。我编辑了帖子以包含 DataPoints 视图的代码,它现在只是一个骨架。