Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过Django中的URL传递列表时出错_Python_Django - Fatal编程技术网

Python 通过Django中的URL传递列表时出错

Python 通过Django中的URL传递列表时出错,python,django,Python,Django,我尝试通过Django中的URL传递列表。 我发现: 但我还是会出错。我觉得我在绕圈子跑 我的网址: path('query/', include(('query.urls', 'query-space'), namespace='query-space')), re_path(r'^2/(?P<amb_list>\w+)/$',views.ambitionGenPage, name='userambitiongen'), 我修改了链接的代码。 行中: redirect=Http

我尝试通过Django中的URL传递列表。 我发现: 但我还是会出错。我觉得我在绕圈子跑

我的网址:

path('query/', include(('query.urls', 'query-space'), namespace='query-space')),

re_path(r'^2/(?P<amb_list>\w+)/$',views.ambitionGenPage, name='userambitiongen'),
我修改了链接的代码。 行中:
redirect=HttpResponseRedirect(反向('query-space:userambitiongen',args=(amb_列表)))
他不知道这个论点:

name错误:未定义名称“amb\u list”

在这个例子中没有参数。当我尝试此操作时,会出现以下错误:

未找到任何参数的“userambitiongen”的反向。已尝试1个模式:[“查询/2/(?P\\w+/$”]

我在互联网上也找不到这个表达式:
redirect['Location']
有人能给我解释一下[地点]代表什么吗

正确的解决方案是什么?我试着在几个小时内自己找到它


非常感谢您抽出时间

返回重定向['Location']

将您重定向到示例:yourwebpage.com/Location


您可以将列表临时保存到sql数据库中,然后将其删除。

返回重定向['Location']

将您重定向到示例:yourwebpage.com/Location


您可以将列表临时保存到sql数据库中,然后将其删除。

这不是因为键入错误吗?您有一个变量
amb\u list
,但它找不到该变量
amb\u list
,该变量确实不存在。噢,这就是原因。非常感谢。现在我得到了一个错误,ambs_列表的示例列表不适合我URL中的正则表达式:
Reverse for'userambitiongen',未找到参数'('FR','FP')。尝试了1个模式:['query/2/(?P\\w+/$')]
我接管了该链接提问者的URL,因为没有其他URL。遗憾的是,这不起作用。你知道正则表达式应该是怎样的吗?我也不明白以“重定向”开头的两行中发生了什么。我将非常感谢你的解释。我希望我不要表现得太愚蠢。在这种情况下,你必须更具体地说明你正在使用的url文件(不仅仅是它们的摘录,也不仅仅是其中的一个),以便其他人检查可能发生的事情。这不只是因为打字错误吗?您有一个变量
amb\u list
,但它找不到该变量
amb\u list
,该变量确实不存在。噢,这就是原因。非常感谢。现在我得到了一个错误,ambs_列表的示例列表不适合我URL中的正则表达式:
Reverse for'userambitiongen',未找到参数'('FR','FP')。尝试了1个模式:['query/2/(?P\\w+/$')]
我接管了该链接提问者的URL,因为没有其他URL。遗憾的是,这不起作用。你知道正则表达式应该是怎样的吗?我也不明白以“重定向”开头的两行中发生了什么。我将非常感谢你的解释。我希望我不要表现得太愚蠢。在这种情况下,你必须更具体地说明你正在使用的url文件(不只是摘录,也不只是其中一个),以便其他人检查可能发生的事情。啊,谢谢你的解释!我的想法是首先将列表保存到数据库中,但我认为在URL中传输列表要比在db中加载列表快得多,只是在db的下一个视图中查询列表,我接下来需要它。还是我错了,两种解决方案之间的时间差很小?取决于工作负载,数据库是存储和提取大量数据的非常有效的方法。但是如果它是小的,那么URL也可以。啊,谢谢你的解释!我的想法是首先将列表保存到数据库中,但我认为在URL中传输列表要比在db中加载列表快得多,只是在db的下一个视图中查询列表,我接下来需要它。还是我错了,两种解决方案之间的时间差很小?取决于工作负载,数据库是存储和提取大量数据的非常有效的方法。但如果它很小,那么URL也应该很好。
def ambitionPage(request):
    if request.method == 'POST':
        form = AmbitionForm(request.POST)
        if form.is_valid():

            ambs_list = form.cleaned_data['ambition_field']
            redirect = HttpResponseRedirect(reverse('query-space:userambitiongen'))
            redirect['Location'] += '&'.join(['ambs={}'.format(x) for x in ambs_list])
            return redirect

    form = AmbitionForm()

    return render(request, 'query/ambition.html',{'form':form,})

def ambitionGenPage(request):
    ambitions = request.GET.getlist('amb_list')
    if ambitions:
        ambitions = [int(x) for x in ambitions]
        print(ambitions) #I first want to check what data I get

    return render(request, 'query/ambitionGen.html',{})