我有一些在Django视图中计算的参数需要传递给url。我怎么能这样做。
当前网址格式:
url(r'^hotels/(?P<country>[A-Za-z0-9-]+)/(?P<region>[A-Za-z0-9-]+)', hotel.views.hotels, name='hotels')
我的模板中的链接:
<a href="{% url 'hotels' %}?region_id={{ region.id }}">{{ region.name }}</a>
我的观点: 我从请求中获取了region_id。
def hotels(request):
region_id = request.GET.get('region_id')
region = Region.objects.get(id=region_id)
region_name = region.name
country_name= region.country.name
context = {
'region_id': region_id,
'region': region_name,
'country': country_name,
}
return render(request, 'hotel/hotels.html', context)
我从模板中获取了region_id,之后我使用查询来获取区域,区域名称和相应的国家。
应在url中使用region_name和country_name。
到目前为止,这似乎不起作用。
我希望有人可以帮我完成这件事。
,
答案 0 :(得分:2)
您的hotels
网址需要两个参数:country
和region
您需要将它们传递给url
函数:
<a href="{% url 'hotels' region.country.name region.id %}">{{ region.name }}</a>
在视图中接下来,从传入的kwargs
中获取它们。
def hotels(request, country, region):
pass