首页 > 解决方案 > 将参数从return语句发送到Django中的路径

问题描述

目前,我正在使用此代码来呈现页面:

return render(request, 'appname/bundles_edit.html', context)

这工作正常。但是,我想向我的路径发送两个整数:

path('bundles/<int:bundle_template_number>/<int:bundle_id>/', views.bundles_edit, name='bundles_item'),

我将如何在我的返回渲染语句中插入这两个整数?

编辑:查看功能:

def bundles(request):
    context = {}
    if 'bundle_to_edit' in request.POST:
        bundle = request.POST['bundle_to_edit']
        instance_as_list = bundle.split(',')
        template_number = instance_as_list[0]
        template_id = instance_as_list[1]
        return render(request, 'contractor/bundles_edit.html' + '/' + template_number + '/' + template_id,, context)
    return render(request, 'contractor/bundles.html, context)

def bundles_edit(request):
    context= {}
    return render(request, 'contractor/bundles_edit.html', context)

我知道第一次返回渲染是错误的,但我不确定如何正确执行。

编辑 2:更新的代码。

def bundles(request):
    if 'bundle_to_edit' in request.POST:
        bundle = request.POST['bundle_to_edit']
        instance_as_list = bundle.split(',')
        template_number = instance_as_list[0]
        bundle_id = instance_as_list[1]
        context['bundle_template_number'] = template_number
        context['bundle_id'] = bundle_id
        return render(request, 'contractor/bundles_edit.html', context)
    return render(request, 'contractor/bundles.html, context)


def bundles_edit(request, bundle_template_number, bundle_id):
    context= {}
    context['bundle_template_number'] = bundle_template_number
    context['bundle_id'] = bundle_id
    return render(request, 'contractor/bundles_edit.html', context)

urls.py:
path('bundles/<int:bundle_template_number>/<int:bundle_id>/', views.bundles_edit, name='bundles_item'),

此时一切正常,它只是让我的浏览器 URL 为:/contractor/bundles/ 而不是 /contractor/bundles/1/8/

标签: pythondjango

解决方案


您可以看到您的路径很好,就像他们在文档中所说的那样:

path('articles/<int:year>/<int:month>/', views.index)
def index(request, year, month):
    ...
    year = Years.objects.get(pk=year)
    month = Months.objects.get(pk=month)
    return render(request, 'yourtamplate.html', {'year':year, 'month':month})

这是你的主意吗?


推荐阅读