1
我正在嘗試編寫一段非常簡單的代碼,並且我在泛型FormView中遇到了一個大問題。Django FormView將POST值解釋爲列表
#views.py
class FooView(FormView):
template_name = 'foo.html'
form_class = FooForm
def get_success_url(self):
return reverse('foo')
def get_context_data(self, **kwargs):
#...
return context
def form_valid(self, form):
form.save()
return super(FooView, self).form_valid(form)
def get_form_kwargs(self):
return {'foo':'bar'}
#forms.py
class FooForm(forms.ModelForm):
def __init__(self, foo, *args, **kwargs):
#...
super (FooForm, self).__init__(*args, **kwargs)
def clean_abc(self):
#...
def clean_contact(self):
#...
class Meta:
model = Foo
#foo.html
...
<div id="form_add_foo">
<form method="post" class="standard" id="form_add_foo">
{% csrf_token %}
{{ form.as_p }}
<p><input type="submit" name="form_add_foo" value="Add Foo"></p>
</form>
</div>
#request.raw_post_data == csrfmiddlewaretoken=99a43151f0198b7c47541c1e91b230e5&a=2&b=1&c=1&form_add_foo=Add+Foo
#form.data == {u'b': [u'1'],
u'csrfmiddlewaretoken': [u'99a43151f0198b7c47541c1e91b230e5'],
u'form_add_foo': [u'Add Foo'],
u'c': [u'1'],
u'a': [u'2']}
我的問題是 - 爲什麼form.data值列表,從raw_post_data不僅僅是Unicode值?第二個問題 - 我該如何改變這種行爲?