【发布时间】:2016-06-22 21:26:19
【问题描述】:
我的网站上有一个表格,可以上传文件和一个文本字段。文件是加密数据,文本文件是解密它的密钥。代码:
forms.py
class UploadForm(forms.Form):
file = forms.FileField(required=False)
accessCode = forms.CharField(label=False, required=False)
def process(self):
file = "empty"
if self.is_valid():
file = self.cleaned_data.get('file')
access_code = self.cleaned_data.get('accessCode')
print("1. access code = %s" % access_code)
file = file.read()
context = {
'file_data': file,
'access_code': access_code,
}
return context
网络:
<form action="/encryption/decrypt/" method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ upload_form.as_p }}
<input type="submit" value="Submit"/>
</form>
看起来一切正常,但是当我尝试打印值时,作为文件内容和输入文件内容它不起作用
views.py:
def decrypt(request):
upload_form = UploadForm(files=request.FILES)
if request.method == "POST":
print(request.POST)
post_data = upload_form.process()
access_code = post_data.get('access_code', 'No Access Code')
salt = post_data.get('file_data', 'no file data')
print("ACCESS CODE %s" % access_code)
print("SALT = %s" % salt)
salt 由 access_code 正确打印为空,我不知道为什么......我猜你不能只在一种形式中包含上传和文本文件,但我不知道如何解决它。 ...
【问题讨论】:
标签: django forms python-3.x django-forms