Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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 无法将字典更新序列元素#0转换为序列_Python_Django_Dictionary - Fatal编程技术网

Python 无法将字典更新序列元素#0转换为序列

Python 无法将字典更新序列元素#0转换为序列,python,django,dictionary,Python,Django,Dictionary,我试图用Django缓存存储表单字段变量,并在视图中添加Django表单 我遇到了这个错误,我看不出脚本中会出现什么错误: Cannot convert dictionary update sequence element #0 to a sequence 你知道吗?在我看来,一切似乎都是对的 错误来自以下行: return render(request, 'form.html', {'form' : form}) 这是我的脚本函数: def Function_Form(request) :

我试图用
Django缓存存储表单字段变量
,并在视图中添加Django表单

我遇到了这个错误,我看不出脚本中会出现什么错误:

Cannot convert dictionary update sequence element #0 to a sequence
你知道吗?在我看来,一切似乎都是对的

错误来自以下行:

return render(request, 'form.html', {'form' : form})
这是我的脚本函数:

def Function_Form(request) :

    query_lastname = request.GET.get('lastname')
    cache.set('query_lastname', query_lastname, 300)
    print cache.get('query_lastname')

    if request.method == 'POST':

        form = Formulary(request.POST or None)

        if form.is_valid() :   
            if '_save' in request.POST :
                post = form.save()
                return HttpResponseRedirect(reverse('treated', kwargs={'id': post.id}))

    else:
        form = Formulary()

    return render(request, 'form.html', {'form' : form})
编辑:

Environment:


Request Method: GET
Request URL: http://localhost:8000/BirthCertificate/formulaire

Django Version: 1.10.3
Python Version: 2.7.12
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'BirthCertificate',
 'Identity',
 'bootstrapform',
 'Accueil',
 'django_countries',
 'log',
 'Mairie',
 'Table',
 'Recensement',
 'Configurations',
 'debug_toolbar']
Installed Middleware:
['django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.middleware.gzip.GZipMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'debug_toolbar.middleware.DebugToolbarMiddleware']



Traceback:

File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
  39.             response = get_response(request)

File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
  249.             response = self._get_response(request)

File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/usr/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  23.                 return view_func(request, *args, **kwargs)

File "/Users/valentinjungbluth/Desktop/Django/Etat_civil/BirthCertificate/views.py" in BirthCertificate_Form
  55.     return render(request, 'BC_form.html', {'Bform' : Bform})

File "/usr/local/lib/python2.7/site-packages/django/shortcuts.py"  in render
  30.     content = loader.render_to_string(template_name, context, request, using=using)

File "/usr/local/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
  68.     return template.render(context, request)

File "/usr/local/lib/python2.7/site-packages/django/template/backends/django.py" in render
  66.             return self.template.render(context)

File "/usr/local/lib/python2.7/site-packages/django/template/base.py" in render
  206.                 with context.bind_template(self):

File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py" in __enter__
  17.             return self.gen.next()

File "/usr/local/lib/python2.7/site-packages/debug_toolbar/panels/templates/panel.py" in _request_context_bind_template
  51.         updates.update(context)

Exception Type: TypeError at /BirthCertificate/formulaire
Exception Value: cannot convert dictionary update sequence element #0 to a sequence
我们都在与@Valentin合作这个项目。在这方面我正在努力帮助他

完全回溯:

Environment:


Request Method: GET
Request URL: http://localhost:8000/BirthCertificate/formulaire

Django Version: 1.10.3
Python Version: 2.7.12
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'BirthCertificate',
 'Identity',
 'bootstrapform',
 'Accueil',
 'django_countries',
 'log',
 'Mairie',
 'Table',
 'Recensement',
 'Configurations',
 'debug_toolbar']
Installed Middleware:
['django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.middleware.gzip.GZipMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'debug_toolbar.middleware.DebugToolbarMiddleware']



Traceback:

File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
  39.             response = get_response(request)

File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
  249.             response = self._get_response(request)

File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/usr/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  23.                 return view_func(request, *args, **kwargs)

File "/Users/valentinjungbluth/Desktop/Django/Etat_civil/BirthCertificate/views.py" in BirthCertificate_Form
  55.     return render(request, 'BC_form.html', {'Bform' : Bform})

File "/usr/local/lib/python2.7/site-packages/django/shortcuts.py"  in render
  30.     content = loader.render_to_string(template_name, context, request, using=using)

File "/usr/local/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
  68.     return template.render(context, request)

File "/usr/local/lib/python2.7/site-packages/django/template/backends/django.py" in render
  66.             return self.template.render(context)

File "/usr/local/lib/python2.7/site-packages/django/template/base.py" in render
  206.                 with context.bind_template(self):

File "/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py" in __enter__
  17.             return self.gen.next()

File "/usr/local/lib/python2.7/site-packages/debug_toolbar/panels/templates/panel.py" in _request_context_bind_template
  51.         updates.update(context)

Exception Type: TypeError at /BirthCertificate/formulaire
Exception Value: cannot convert dictionary update sequence element #0 to a sequence
他的剧本就是这样的:

def BirthCertificate_Form(request) :
    # Fonction permettant de créer le formulaire Acte de Naissance et le remplissage

    query_lastname = request.GET.get('lastname')
    cache.set('query_lastname', query_lastname, 300)
    print cache.get('query_lastname')

    if request.method == 'POST':

        Bform = BirthCertificateForm(request.POST or None)

        if Bform.is_valid() :   # Vérification sur la validité des données
            if '_save2' in request.POST :
                post = Bform.save()
                return HttpResponseRedirect(reverse('BC_treated', kwargs={'id': post.id}))

    else:
        Bform = BirthCertificateForm()

    return render(request, 'BC_form.html', {'Bform' : Bform})

我发现了错误。在我的context_processors.py文件中,我有:

def cached_queries(request):
    return {'query_lastname', cache.get('query_lastname')}
而不是

def cached_queries(request):
    return {'query_lastname' : cache.get('query_lastname')}

现在它似乎起作用了,所以我为这个愚蠢的问题道歉…

你确定它来自那句话吗?请发布完整的回溯。@DanielRoseman我添加了一个编辑部分,这是我的回溯和脚本中的一部分friend@DanielRoseman我发现了问题,你可以从我的回答中看出。我没有把所有的文件都放进去,答案是在context_processors.py文件中。很抱歉,这会导致返回的是
集合
,而不是
指令
。这是一个简单而恼人的错误。我也做了。