如何将计算出的参数传递给Djang中的url

2024-09-26 22:54:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些在Django视图中计算的参数需要传递到url。我怎么能做到呢

当前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>

我的观点是: 我从请求中得到了地区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)

我从模板中获取地区标识,然后使用查询获取地区、地区名称和相应的国家。
url中应使用地区\名称和国家\名称

直到现在,这似乎还不起作用

我希望有人能帮我完成这件事


Tags: name名称模板idurlgetrequestcontext
1条回答
网友
1楼 · 发布于 2024-09-26 22:54:54

您的hotelsurl需要两个参数:countryregion您需要将它们传递给url函数:

<a href="{% url 'hotels' region.country.name region.id %}">{{ region.name }}</a>

接下来在视图中,从传入的kwargs中获取它们

def hotels(request, country, region):
    pass

相关问题 更多 >

    热门问题