我玩弄文件上傳在Django但是我得到這個錯誤:強迫與文件上傳UNICODE在Django
Traceback:
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py" in get_response
111. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/bli1/Development/Django/TrinityTaaS/parser/views.py" in handle_uploaded_file
35. f = open(log_file, "r")
Exception Type: TypeError at /parser/events/
Exception Value: coercing to Unicode: need string or buffer, WSGIRequest found
我不知道如何解決這個問題。
views.py
def handle_uploaded_file(log_file):
print "HI"
json_beacons = []
f = open(log_file, "r")
# log regex for events
beacon1 = re.compile(r'.*\[DataCapture\]\s+(?P<beacon_var>\[(.*)\])')
beacon2 = re.compile(r'.*\[DataCapture\]\s+Event:\s+\{.*\}(?P<beacon_var>\{.*\})')
for chunk in f.chunk():
log_entry = re.search(beacon1, chunk)
if log_entry:
beacon_json = log_entry.group("beacon_var")
json_beacons.append(beacon_json[1:-1])
return json_beacons
def upload_file(request):
if request.method == "POST":
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
json_beacons = handle_uploaded_file(request.FILES['file'])
return HttpResponseRedirect('/success/')
else:
form = UploadFileForm()
return render_to_response('upload.html', {'form': form})
forms.py
class UploadFileForm(forms.Form):
title = forms.CharField(max_length=50)
file = forms.FileField()
*嘆*這是一個漫長的一天...... – Liondancer 2014-12-10 21:55:28