CSV를 업로드하고 데이터베이스에 저장해야합니다. 나는 초보자이며 아래는 'django-adapters'(http://django-adaptors.readthedocs.org/en/latest/index.html)를 사용하여 지금까지 달성 한 것들이다. 나는 그다지 많이 알지는 못한다. 더 자세히 알기 위해이 작업을하고 있습니다. :)장고 CSV 읽기/업로드
저는 아래 코드에서보기에 어려움을 겪고 있습니다. 어떻게 파일을 CodeCSvModel() 함수에 업로드 할 수 있는지 모르겠다. 아무도 설명 할 수 있을까요? 많은 감사합니다. :)
views.py
from django.template import RequestContext
from django.shortcuts import render_to_response
from web.forms import codeUploadForm
from web.csvTools import CodeCSvModel
def codeImport(request):
# If we had a POST then get the request post values.
if request.method == 'POST':
form = codeUploadForm(request.POST, request.FILES)
# handle_uploaded_file(request.FILES['file'])
====[HELP HERE]=====
#form = codeUploadForm(request.POST)
CodeCSvModel.import_from_file(form['file'])
else:
form = codeUploadForm()
context = {'form':form}
return render_to_response('import.html', context, context_instance=RequestContext(request))
forms.py
class codeUploadForm(forms.Form):
file = forms.FileField()
place = forms.ModelChoiceField(queryset=Incentive.objects.all())
csvTool.py는
from datetime import datetime
from adaptor.fields import *
from adaptor.model import CsvModel, CsvDbModel, ImproperlyConfigured,\
CsvException, CsvDataException, TabularLayout, SkipRow,\
GroupedCsvModel, CsvFieldDataException
from web.models import *
class CodeCSvModel(CsvModel):
codeid = CharField()
remotecode = CharField()
active = BooleanField()
created = DateField()
modified = DateField()
incentiveid = CharField()
class Meta:
delimiter = ";"
dbModel = Code
[the docs] (https://docs.djangoproject.com/en/dev/topics/http/file-uploads/)를 읽으셨습니까? 당신이 가진 문제는 정확히 무엇입니까? 파일 데이터를 얻기 위해'request.FILES'를 사용하여 거의 한 지점에있는 것처럼 보입니다. – Iguananaut
옙, 나는 거의 파일 = request.FILES [file ']로 생각한다. 그러나 이것은 form.FILES [file]이 아닐 경우에는 틀린 것처럼 보인다. 요청을 사용하면 모든 폼 채우기가 무시된다. 또는 나는 무엇인가 놓치고있다. – Prometheus
ok 나는 내가 무슨 일이 일어나고 있는지에 대한 나의 이해가 있다고 생각한다. 이 작품은 file = request.FILES [ 'file'] 그리고 나서 CodeCSvModel.import_from_file (file) 그러나 ... 내가 이해하지 못하는 부분은 어디서 업로드 되었습니까? – Prometheus