我反向映射网址并收到错误消息。但我必须误解某些东西,因为它所说的并不正确,这正是我想要实现的目标(除了关于它不正确的部分)。
以下是错误消息,我在此处添加了几个可读性新行:
NoReverseMatch at /k/trip/search
Reverse for 'trip/save'
with arguments '()'
and keyword arguments
'{'when': '2015-02-01',
'from_city': 'nantes',
'to_city': 'paris'}'
not found. 1 pattern(s) tried:
['k/trip/save/?P<when>(\\d{4}-\\d{2}-\\d{2})/?P<from_city>([a-zA-Z ]+)/?P<to_city>([a-zA-Z ]+)/']
要完成,url.py行是这样的:
url(r'^save/?P<when>(\d{4}-\d{2}-\d{2})/?P<from_city>([a-zA-Z ]+)/?P<to_city>([a-zA-Z ]+)/',
kernel.views.TripSaveView.as_view(),
name='trip/save'),
并且reverse
行是这样的:
return redirect(reverse('trip/save',
kwargs={
'when': trip_form['departure_date'].value(),
'from_city': trip_form['from_city'].value(),
'to_city': trip_form['to_city'].value()}))
答案 0 :(得分:2)
模式的名称必须在里面 parens:
url(r'^save/(?P<when>\d{4}-\d{2}-\d{2})/(?P<from_city>[a-zA-Z ]+)/(?P<to_city>[a-zA-Z ]+)/',
kernel.views.TripSaveView.as_view(),
name='trip/save'),