2016-01-14 66 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

相關問題