我想在 Django 中将参数从视图传递到视图,当我首先传递三个参数时,它可以工作,但是当它超过 3 个参数时不再工作。在传递参数时,我有这个错误:
NoReverseMatch at /detail/
Reverse for 'display_filter' with arguments '()' and keyword arguments '{'country': 'USA', 'street': 'Wall Street', 'continent': 'America', 'city': 'new York'}' not found.
网址.py
url(r'^detail/$', 'examples.views.detail'),
url(r'^display_filter/(?P<continent>[-\w]+)/(?P<country>[-\w]+)/(?P<city>[-\w]+)/(?P<street>[-\w]+)/$', 'examples.views.display_filter', name='display_filter'),
视图.py
def detail(request):
continents = Select_continent()
if request.method == 'POST':
continent = request.POST.get('combox1')
country = request.POST.get('combox2')
city = request.POST.get('combox3')
street = request.POST.get('combox4')
countries =Select_country(continent)
cities= Select_city(continent,country)
streets = Select_street(continent,country,city)
for row in continents :
if row[0]==int(continent) :
param1 =row[1]
for row in countries:
if row[0]==int(country):
param2=row[1]
for row in cities:
if row[0]==int(city):
param3=row[1]
for row in streets:
if row[0]==int(street):
param4=row[1]
url = reverse('display_filter', args=(), kwargs={'continent':param1,'country':param2,'city':param3,'street':param4})
return redirect(url)
return render(request, 'filter.html', {'items': continents,})
def display_filter(request,continent, country,city, street):
data = Select_WHERE(continent, country, city,street)
#symbol = ConvertSymbol(currency)
return render_to_response('filter.html', {'data': data, }, RequestContext(request))