1
我新上传的文件Django的
我有一个MySQL数据库 - 这是我想用一个CSV文件更新。我打算使用MySQL 的LOAD DATA命令我该如何解决它? - 或者,还有更好的方法 ?更新数据库使用Django
我应该如何创建上传表单?
我新上传的文件Django的
我有一个MySQL数据库 - 这是我想用一个CSV文件更新。我打算使用MySQL 的LOAD DATA命令我该如何解决它? - 或者,还有更好的方法 ?更新数据库使用Django
我应该如何创建上传表单?
您可以使用在Python csv模块来读取文件并遍历行:
import csv
csv_file = open('path/to/file', 'rb')
reader = csv.reader(csv_file)
for column1, column2, column3 in reader:
#do something with the data here
希望帮助!
这部分是显示出一个样品视后续:
#NOT TESTED
import csv
from django.shortcuts import render_to_response
form my_app.forms import MyForm
from my_app.models import MyModel
def my_view(request):
if request.method == 'GET':
form = MyForm()
else:
form = MyForm(request.FILES, request.POST)
if form.is_valid():
the_file = form.cleaned_data.get('the_file_field', None)
if the_file:
reader = csv.reader(the_file)
for column1, column2, column3 in reader:
my_model = MyModel.objects.create(column1=column1, \
column2=column2, column3=column3)
return render_to_response('my_template.html', {'form' : form})
要做到这一点使用Django,你最好写一个视图和一个支持模型,它会有一个表单上传你的文件,然后逐行解析文件,以便将信息插入到你的数据库中。
谢谢,我认为这可能是非常有帮助的。如果我不想存储上传的文件 - 即如何从上传的文件中获取数据并绑定到表单上? 另外,我需要将csv信息插入到数据库中。如何编写该视图 – mridul 2011-03-15 20:11:06
您应该能够直接从request.POST集合中引用上传的文件。 (我没有用这个方法测试过,但是用过类似的函数),我会用样本视图发布另一个答案。 – Brandon 2011-03-17 14:18:44