2013-05-10 2 views
0

views.py가져 오기 XLS 파일과이는 XLS 파일을 가져 오는 것입니다 models.py

def contact_list(request): 
    importform = ImportExcelForm() 
    if request.method == 'POST': 
     importform = ImportExcelForm(request.POST, request.FILES) 
     if importform.is_valid(): 
      input_excel = request.FILES['input_excel'] 
      book = xlrd.open_workbook(file_contents=input_excel.read()) 
      excel_parser= ExcelParser() 
      success, log = excel_parser.read_excel(request.FILES['input_excel']) 
      return redirect('/member/incident-types/') 
    else: 
     importform = ImportExcelForm() 
    return render(request, 'incident/contact_list.html', 
        { 
        'about_menu': True, 
        'ImportExcelForm':importform, 
       }) 

forms.py

class ImportExcelForm(Form): 
    input_excel = forms.FileField() 
    user = forms.ModelChoiceField(queryset=Contacts.objects.all()) 

def save(self): 
    records = xls.reader(self.cleaned_data["input_excel"]) 
    for line in records: 
     input_data = Data() 
     input_data.place = self.cleaned_data["user"] 
     input_data.name = line[1] 
     input_data.number = line[2] 
     input_data.save() 

장고에 데이터베이스에

class Contacts(models.Model): 
    user = models.ForeignKey(User, null=True) 
    name = models.CharField('Name', max_length=100) 
    number = models.IntegerField() 

을 thedata를 저장 , 읽고 데이터베이스 필드에 xls 파일의 연락처 및 전화 번호를 씁니다. 나는이 모든 오류가 발생하지 않지만 데이터베이스의 데이터를 구문 분석하지 않습니다 .

답변

0

여기에서 무슨 일이 일어나기를 기대하는지 모르겠습니다. 귀하의 양식 저장 방법 (정확하게 들여 쓰기되어 있지 않은 경우 가정)은 파일이 아닌 파일 인 self.cleaned_data["input_excel"]의 내용을 반복합니다. 그러나 어떤 경우 든보기는 언제든지 save 메소드를 호출하지 않습니다. 그것이하는 일은 완전히 다른 Excel 구문 분석 함수 집합을 사용하여 로컬 변수 쌍으로 읽어 들인 다음 함수가 반환 할 때 범위를 벗어나는 변수의 내용을 전혀 사용하지 않는 것입니다.

로직 흐름이 정확히 무엇인지 생각하고, 적고, 적어 놓은 코드를 작성하십시오.

관련 문제