python Django后台网页面传值的时候出现的错误

ssspure 2016-04-02 04:16:35
Django form代码
class Home(forms.Form):

HOST_TYPE = (
(1, '虚拟机'),
(2, '物理机'),
)

hostType = forms.IntegerField(widget=forms.Select(choices=HOST_TYPE))

hostname = forms.CharField(widget=forms.TextInput())

fileTest = open("db.admin")
data = fileTest.read()
# data = [[1, "John"], [2, "Mike"], [3, "Amy"]]
fileTest.close()
print data, type(data)

admin = forms.IntegerField(widget=forms.Select(choices=data))

其中data数据是从一个文件db.admin中获取的,文件中的数据是:
[[1, "John"], [2, "Mike"], [3, "Amy"]]。
在views中将form实例化,然后传给了渲染到页面
views中的代码是:
def home(request):
homeObj = HomeForm.Home()
return render(request, "home.html", {"homeObj": homeObj})


页面的代码是:
    <form action="/home/" method="post">
<span>主机类型:</span>{{ homeObj.hostType }}<br>
<span>主机名称:</span>{{ homeObj.name }}
<span>admin:</span>{{ homeObj.admin }}
</form>

但是这样在访问页面的时候回出现错误,错误信息是:
ValueError: need more than 1 value to unpack。

我打印从文件中获取的data。得到的值就是
[[1, "John"], [2, "Mike"], [3, "Amy"]]

如果我不是从文件中获取,直接将data变量赋值为 [[1, "John"], [2, "Mike"], [3, "Amy"]],
也就是使用注销的那段代码,在访问页面就不会报错。


想请教一下这是为什么?
我的环境是python 2.7,Django1.9
谢谢各位了!!!
...全文
224 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

37,737

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧