我有這個以下models.py:如何填充SQLITE3模型一個TXT數據文件
from django.db import models
class User_Language(models.Model):
user = models.CharField(max_length=100)
language = models.CharField(max_length=100)
這forms.py:
from django import forms
class file_upload_form(forms.Form):
title = forms.CharField(max_length=100)
file = forms.FileField()
而這個TXT數據文件,通過分離標籤:
Lucas Rezende Python
Fabricio Django
Pappacena Python
我創造了這個觀點,基本上呈現HTML文件來處理的txt文件:
from django.shortcuts import render, redirect
from forms import file_upload_form
from models import User_Language
from myfreecomm.settings import MEDIA_ROOT
def upload_file(request):
'''
This view handles the file upload
'''
if request.method == 'POST':
form = file_upload_form(request.POST, request.FILES)
if form.is_valid():
handle_uploaded_file(request.FILES['file'])
filename = file['filename']
f = open('%s%s' % (MEDIA_ROOT, filename), 'r')
for line in f.readline().split('\t'):
table = User_Language(user = line[0], language = line[1])
table.save()
return redirect('/success_upload/')
else:
form = file_upload_form()
return render(request, 'upload/upload.html', locals())
def success(request):
return render(request, 'upload/sucess.html', locals())
在這一點上我無法弄清楚如何使這個txt文件,命名爲data.txt
,被插入到表User_Language
。
我試着在谷歌的反應,但無法弄清楚如何完成它。
有人可以澄清這個問題嗎?
在此先感謝!
你在哪裏遇到問題?在你的handle_uploaded_file函數中,你只需要遍歷文件併爲每一行創建一個模型實例。什麼讓你感到困惑? –
@DanielRoseman問題是我實際上不知道如何去做。如果問得不多,你能舉個例子嗎? –
我在說,因爲我在互聯網上找到的例子中,我認爲這個'handle_uploaded_file'是一個內置函數......看起來不是,是啊?! –