Python 在模板呈现过程中要解压缩的值太多
我现在正在学习Django,我遇到了这个错误,我有点被难住了。我正试图把我的表格放到我的主页上 我得到这个错误: 代码: home/views.py:Python 在模板呈现过程中要解压缩的值太多,python,django,forms,django-forms,Python,Django,Forms,Django Forms,我现在正在学习Django,我遇到了这个错误,我有点被难住了。我正试图把我的表格放到我的主页上 我得到这个错误: 代码: home/views.py: from django.shortcuts import render from forms import TestForm from django.http import HttpResponseRedirect def home(request): if request == 'POST': # create a
from django.shortcuts import render
from forms import TestForm
from django.http import HttpResponseRedirect
def home(request):
if request == 'POST':
# create a form instane and populate it with data from the request
form = TestForm(request.POST)
if form.is_valid():
# process the data in form.cleaned_data as required
form.cleaned_data()
# redirect to a new URL:
return HttpResponseRedirect('/test/')
# if a GET (or any other method) we'll create a blank form
else:
form = TestForm()
return render(request, 'home/home_page.html', {'form': form})
def scan_events(request):
if request == "POST":
# json = request.POST['testData']
# condition statement for file upload ot c/p events
return render(request, 'home/test.html', {'data': request.POST})
def test(request):
request(request, 'home/test.html')
home/forms.py
from django import forms
TEST_TYPE_CHOICES = ('HDFS', 'HIVE', 'BOTH')
class TestForm(forms.Form):
# hdfs_test = forms.MultipleChoiceField()
# hive_test = forms.MultipleChoiceField()
# hdfs_hive_test = forms.MultipleChoiceField()
test_type = forms.MultipleChoiceField(required=True, widget=forms.RadioSelect(), choices=TEST_TYPE_CHOICES)
event_textarea = forms.Textarea(attrs={'rows': '8', 'class': 'form-control', 'placeholder': 'Events...', 'id': 'event_textarea'})
# file_upload = forms.FileInput()
URL.py:
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^$', 'home.views.home', name='home'),
url(r'test/$', 'home.views.test'),
)
home/templates/home/home\u page.html
{% extends 'index/index.html' %}
{% load staticfiles %}
{% block head %}
<script type="text/javascript" src="{{ STATIC_URL }}home/js/home.js" async></script>
<link href="{{ STATIC_URL }}home/css/home.css" rel="stylesheet">
{% endblock head %}
{% block content %}
<div>Welcome to Trinity E2E testing</div>
<form id="test-form" action="/test/" method="post"> {# pass data to /test/ URL #}
{% csrf_token %}
{{ form }}
<input id="submit-test" type="submit" class="btn btn-default btn-lg" value="Submit">
</form>
{% endblock content %}
{%extends'index/index.html%}
{%load staticfiles%}
{%block head%}
{%endblock头%}
{%block content%}
欢迎来到Trinity E2E测试
{#将数据传递给/test/URL}
{%csrf_令牌%}
{{form}}
{%endblock内容%}
应该是密钥描述对的序列(确切地说是可以接受的)
TEST_TYPE_CHOICES = [
('HDFS', 'HDFS'),
('HIVE', 'HIVE'),
('BOTH', 'Both of HDFS and HIVE'),
]
错误消息的解释:
字符串也是序列。因此,使用选项的代码将字符串视为4个字符的序列(确切地说是字符串,因为Python中没有字符类型)。这就是为什么会出现错误:要解压缩的值太多
>>> a, b = ('HDFS', 'HDFS')
>>> a, b = 'HDFS'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
可能重复的
>>> a, b = 'HD'
>>> a
'H'
>>> b
'D'