我们先新建一个项目和一个app:
django-admin startproject mysite cd mysite django-admin startapp blog
然后修改blog/models.py:
<span style="font-size:18px;">from django.db import models class Blog(models.Model): title=models.CharField(max_length=100) content=models.TextField() def __unicode__(self): return self.title</span>
<span style="font-size:18px;">INSTALLED_APPS=( ... ‘blog’, )</span>
最后同步数据库:
<span style="font-size:18px;">python manage.py makemigrations python manage.py migrate</span>
终端打开shell:
<span style="font-size:18px;">python manage.py shell</span>
然后输入:
<span style="font-size:18px;">from blog.models import Blog</span>
单项数据导入的方式有4种:
1、导入方式1
<span style="font-size:18px;">Blog.objects.create(title=’title 1’,content=’content 1’) </span>
2、导入方式2
<span style="font-size:18px;">blog=Blog() blog.title=’title 2’ blog.content=’content 2’ blog.save()</span>
3、导入方式3
<span style="font-size:18px;">blog=Blog(title=’title 3’,content=’content 3’) blog.save()</span>
4、导入方式4
Blog.objects.get_or_create(title=’title 4’,content=’content 4’)
其中第四种方法可以避免重复导入数据。
一项一项导入数据的效率太慢了,如果需要导入大量的数据,那可能需要大量的人工和时间!!像这种重复性的作业,自然是少不了Python!
假如我们的数据是这样的:
data.txt:
title1,content1
title2,content2
title3,content3
...
title100,content100
那么我们把data.txt放在mysite文件夹下.同时新建一个Python脚本:
1、批量导入方式1:
txt2db.py:
<span style="font-size:18px;"># !/usr/bin/env python import os os.environ.setdefault('DJANGO_SETTINGS_MODULE','datain.settings') """ #看教程的时候说,如果django的版本大于1.7,则需要django.setup(),但#是我注释了语句还是成功了。 import django if django.VERSION >=(1,7): django.setup() """ def main(): from blog.models import Blog f=open('data.txt') for line in f: title,content=line.split(',') Blog.objects.get_or_create(title=title,content=content) f.close() if __name__=='__main__': main() print 'Done!'</span>
然后运行python txt2db.py,导入成功!
2、批量导入方式2
也可以使用Blog.objects.Bulk_create():
<span style="font-size:18px;"># !/usr/bin/env python import os os.environ.setdefault('DJANGO_SETTINGS_MODULE','datain.settings') """ import django if django.VERSION >=(1,7): django.setup() """ def main(): from blog.models import Blog f=open('data.txt') blogList=[] for line in f: title,content=line.split(',') blog=Blog(title=title,content=content) blogList.append(blog) f.close() Blog.objects.Bulk_create(blogList) if __name__=='__main__': main() print 'Done!'</span>