0
フォームフィールド変数をDjango cache
で保存しようとしていますが、私のビューにDjangoフォームを追加しました。辞書更新シーケンス要素#0をシーケンスに変換できません
私はこのエラーを得ていると私は私のスクリプトで間違っているだろうか見ていない:
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})
EDIT:
我々は両方の@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})
が、それはそれから来てよろしいですライン? *フル*トレースバックを投稿してください。 –
@DanielRosemanこの編集された部分を追加しました。私の友人からのトレースバックとスクリプト – Andro
@DanielRoseman私の答えでわかるように問題を発見しました。私はすべてのファイルを置かなかったし、答えはcontext_processors.pyファイルにあった。ごめんなさい – Andro