django把mysql导出dbf_Django import / export实现数据库导入导出

本文介绍了如何使用django-import-export库在Django项目中进行数据的导入导出,支持CSV、XLS、JSON、HTML等多种格式。通过安装库、配置settings.py、创建Model、定义Resource及Admin,最后在Django后台实现数据的导入导出功能。需要注意,XLSX格式可能不被支持。
摘要由CSDN通过智能技术生成

使用django-import-export库,导入导出数据,支持csv、xls、json、html等格式

1、安装django-import-export

pip install django-import-export

2、配置settings.py

INSTALLED_APPS = (

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'customer',

'publisher',

'import_export',

)

执行命令: python manage.py collectstatic

3、models.py 建立model

class Author(models.Model):

name = models.CharField(max_length=100)

def __unicode__(self):

return self.name

class Category(models.Model):

name = models.CharField(max_length=100)

def __unicode__(self):

return self.name

class Book(models.Model):

name = models.CharField('Book name', max_length=100)

author = models.ForeignKey(Author, blank=True, null=True)

author_email = models.EmailField('Author email', max_length=75, blank=True)

imported = models.BooleanField(default=False)

published = models.DateField('Published', blank=True, null=True)

price = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True)

categories = models.ManyToManyField(Category, blank=True)

def __unicode__(self):

return self.name

4、在admin.py 创建Resource、对应的Admin

from import_export import resources

from core.models import Book

from import_export.admin import ImportExportModelAdmin

class BookResource(resources.ModelResource):

class Meta:

model = Book

export_order = ('id', 'name', 'author', 'author_email', 'imported', 'click', 'published', 'price', 'categories')

@admin.register(Book)

class BookAdmin(ImportExportModelAdmin):

list_display = ('name', 'author', 'author_email', 'imported', 'published', 'price', 'categories')

search_fields = ('name', 'author','published')

date_hierarchy = 'date'

resource_class = BookResource

export_order:设置导出字段的顺序

5、Django界面实现导入导出

0aad2194dda0c86041d3508cf648b536.png

自测发现,导出xlsx格式不支持,其他正常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值