このエラーは非常に奇妙です。私は形式を持っています:MultiValueDictKeyError Django ModelForm
class ProfileForm(forms.ModelForm):
class Meta:
model = Profile
fields = ['first_name', 'last_name', 'description', 'gender', 'language',
]
widgets = {
'language': forms.RadioSelect,
}
ご覧のとおり、言語はラジオボタン方式を使用しています。その後、私のmodels.py
に、私はそうのような言語のためのフィールドを指定します。次に
LANGUAGE = (('AR', 'Arabic'), ('FR', 'French'), ('ES', 'Spanish'))
language = models.CharField(max_length=20, choices=LANGUAGE, blank=False, default=None)
を私views.py
で、私はこのようなものがあります:私は、エントリを選択した場合、フォームのだから、
if request.method == "POST":
# Model
first_name = request.POST['first_name']
last_name = request.POST['last_name']
gender = request.POST['gender']
language = request.POST['language']
Profile.objects.create(
first_name=first_name,
last_name=last_name,
description=description,
gender=gender,
language=language,
)
をlanguage
の場合、それはすべて正常に動作します。しかし、language
フィールドを空のままにしておくと(私は何も選択しません)、それは私にMultiValueDictKeyError
を与えます。ここで
はトレースバックです:
Traceback:
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/andyxu/Documents/ece496-web/matchalgorithm/views.py" in forms
31. language = request.POST['language']
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/datastructures.py" in __getitem__
85. raise MultiValueDictKeyError(repr(key))
Exception Type: MultiValueDictKeyError at /matchalgorithm/forms/
Exception Value: "'language'"
[私はそれに対処しますかジャンゴMultiValueDictKeyErrorエラー、]の可能な重複(http://stackoverflow.com/questions/5895588/django-multivaluedictkeyerror-error-how-do-i-deal-with-それ) –