2016-01-14 65 views
0

我不断收到'期望的字符串或字节状对象'错误,我不知道为什么。任何人都可以帮忙吗?谢谢!类型错误:期望的字符串或类似字节的对象

VIEW

data = request.POST.get('data') 
data_an = time.strptime(request.POST['data'], "%m/%d/%y") 
newanal = Analysis(data=data_an) 

模板

<tr> 
     <td>Data (DD/MM/YY)</td> 
     <td><input type="text" name="data" /></td> 
</tr> 

模型

class Analysis(models.Model): 
    data = models.DateField(null=True) 

我会插入和保存数据从模板,但是当我点击保存,我已经“期望的字符串或字节状物体”

data_an 
time.struct_time(tm_year=2015, tm_mon=2, tm_mday=12, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=43, tm_isdst=-1) 
newanal 
data  
'02/12/15' 
request 
('<WSGIRequest\n' 
'path:/addanalysis/,\n' 
'GET:<QueryDict: {}>,\n' 
"POST:{'csrfmiddlewaretoken': '5O3kV1Z9iY6SJpIT47Dk1ITcJlWXmOt8',\n" 
" 'data': '02/12/15',\n" 

"COOKIES:{'csrftoken': '5O3kV1Z9iY6SJpIT47Dk1ITcJlWXmOt8',\n" 
" 'sessionid': '296m76ca2ppjkllkmqmeopgjymktl7e1'},\n" 
"META:{'AGSDESKTOPJAVA': 'C:\\\\Program Files " 
"(x86)\\\\ArcGIS\\\\Desktop10.0\\\\',\n" 
" 'ALLUSERSPROFILE': 'C:\\\\ProgramData',\n" 
" 'APPDATA': 'C:\\\\Users\\\\Asus\\\\AppData\\\\Roaming',\n" 
" 'CLASSPATH': " 
"'C:\\\\xpressmp\\\\lib\\\\xprs.jar;C:\\\\xpressmp\\\\lib\\\\xprb.jar;C:\\\\xpressmp\\\\lib\\\\xprm.jar;',\n" 
" 'COMMONPROGRAMFILES': 'C:\\\\Program Files\\\\Common Files',\n" 
" 'COMMONPROGRAMFILES(X86)': 'C:\\\\Program Files (x86)\\\\Common Files',\n" 
" 'COMMONPROGRAMW6432': 'C:\\\\Program Files\\\\Common Files',\n" 
" 'COMPUTERNAME': 'ASUS-PC',\n" 
" 'COMSPEC': 'C:\\\\WINDOWS\\\\system32\\\\cmd.exe',\n" 
" 'CONFIGSETROOT': 'C:\\\\WINDOWS\\\\ConfigSetRoot',\n" 
" 'CONTENT_LENGTH': '199',\n" 
" 'CONTENT_TYPE': 'application/x-www-form-urlencoded',\n" 
" 'CSRF_COOKIE': '5O3kV1Z9iY6SJpIT47Dk1ITcJlWXmOt8',\n" 
" 'DJANGO_SETTINGS_MODULE': 'fileconverter.settings',\n" 
" 'FPS_BROWSER_APP_PROFILE_STRING': 'Internet Explorer',\n" 
" 'FPS_BROWSER_USER_PROFILE_STRING': 'Default',\n" 
" 'FP_NO_HOST_CHECK': 'NO',\n" 
" 'GATEWAY_INTERFACE': 'CGI/1.1',\n" 
" 'HOMEDRIVE': 'C:',\n" 
" 'HOMEPATH': '\\\\Users\\\\Asus',\n" 
" 'HTTP_ACCEPT': " 
"'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',\n" 
" 'HTTP_ACCEPT_ENCODING': 'gzip, deflate',\n" 
" 'HTTP_ACCEPT_LANGUAGE': 'it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4',\n" 
" 'HTTP_CACHE_CONTROL': 'max-age=0',\n" 
" 'HTTP_CONNECTION': 'keep-alive',\n" 
" 'HTTP_COOKIE': 'sessionid=296m76ca2ppjkllkmqmeopgjymktl7e1; '\n" 
"    'csrftoken=5O3kV1Z9iY6SJpIT47Dk1ITcJlWXmOt8',\n" 
" 'HTTP_HOST': '127.0.0.1:8000',\n" 
" 'HTTP_ORIGIN': 'http://127.0.0.1:8000',\n" 
" 'HTTP_REFERER': 'http://127.0.0.1:8000/addanalisi/',\n" 
" 'HTTP_UPGRADE_INSECURE_REQUESTS': '1',\n" 
" 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 " 
"'\n" 
"     '(KHTML, like Gecko) Chrome/47.0.2526.106 " 
"Safari/537.36',\n" 
" 'INCLUDE': 'C:\\\\Program Files (x86)\\\\Microsoft Visual '\n" 
"   'Studio\\\\VC98\\\\atl\\\\include;C:\\\\Program Files " 
"(x86)\\\\Microsoft '\n" 
"   'Visual Studio\\\\VC98\\\\mfc\\\\include;C:\\\\Program Files '\n" 
"   '(x86)\\\\Microsoft Visual Studio\\\\VC98\\\\include',\n" 
" 'LIB': 'C:\\\\Program Files (x86)\\\\Microsoft Visual '\n" 
"  'Studio\\\\VC98\\\\mfc\\\\lib;C:\\\\Program Files (x86)\\\\Microsoft " 
"Visual '\n" 
"  'Studio\\\\VC98\\\\lib',\n" 
" 'LOCALAPPDATA': 'C:\\\\Users\\\\Asus\\\\AppData\\\\Local',\n" 
" 'LOGONSERVER': '\\\\\\\\MicrosoftAccount',\n" 
" 'NUMBER_OF_PROCESSORS': '8',\n" 
" 'OS': 'Windows_NT',\n" 
" 'PATH': 'C:\\\\Program Files (x86)\\\\Cuminas\\\\Document Express DjVu '\n" 
'   ' 
"'Plug-in\\\\;C:\\\\ProgramData\\\\Oracle\\\\Java\\\\javapath;C:\\\\Program " 
"Files '\n" 
"   '(x86)\\\\NVIDIA '\n" 
"   'Corporation\\\\PhysX\\\\Common;C:\\\\xpressmp\\\\bin;C:\\\\Program " 
"Files '\n" 
"   '(x86)\\\\Intel\\\\iCLS Client\\\\;C:\\\\Program " 
"Files\\\\Intel\\\\iCLS '\n" 
"   'Client\\\\;C:\\\\Program Files\\\\Common Files\\\\Microsoft " 
"Shared\\\\Windows '\n" 
"   'Live;C:\\\\Program Files (x86)\\\\Common Files\\\\Microsoft '\n" 
"   'Shared\\\\Windows '\n" 
'   ' 
"'Live;C:\\\\WINDOWS\\\\system32;C:\\\\WINDOWS;C:\\\\WINDOWS\\\\System32\\\\Wbem;C:\\\\WINDOWS\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\;C:\\\\Program " 
"'\n" 
"   'Files (x86)\\\\Windows Live\\\\Shared;C:\\\\Program Files '\n" 
"   '(x86)\\\\Intel\\\\OpenCL SDK\\\\2.0\\\\bin\\\\x86;C:\\\\Program " 
"Fi... <trimmed 7923 bytes string> 
mat 
'1' 
data_ca 
time.struct_time(tm_year=2015, tm_mon=2, tm_mday=12, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=43, tm_isdst=-1) 
+4

如果您“不断收到错误”,您应该将它与完整的回溯一起发布。 –

+0

你在使用Python 2.7还是3.X?据我所知,他们以不同的方式处理字符串。 –

+0

我正在使用python 3.5 – Simone

回答

1

创建Analysis对象,它与models.DateField相当于你逝去的一个time.struct_time对象。日期字段不知道如何将time.struct_time转换为受支持的日期字符串,因此是错误。

改为使用datetime.date对象。

from datetime import datetime 

data_an = datetime.strptime(request.POST['data'], "%m/%d/%y") 
newanal = Analysis(data=data_an) 
newanal.save() 

或者你可以构造一个有效的日期字符串格式YYYY-MM-DD,并传递给构造函数:

data_an = time.strptime(request.POST['data'], "%m/%d/%y") 
ISO_date = '{}-{:02}-{:02}'.format(data_an.tm_year, data_an.tm_mon, data_an.tm_mday) 
newanal = Analysis(data=ISO_date) 

,但我认为前者更容易。

+0

与日期时间工作。谢谢! – Simone

相关问题