记Django Web编码中遇到的问题及解决思路——数据导入导出篇

    在基于Django框架的Web编程中遇到了很多问题,但没有进行及时的记录及积累,导致再遇到相同问题时模棱两可,无法解决。现开此篇专记此类问题,在此感谢师傅的耐心指导。

一.在Django自带的admin中添加导入导出功能

三方库:django_import_export

GitHub地址https://github.com/django-import-export/django-import-export
PyPIhttps://pypi.org/project/django-import-export/
简介:import_export的使用方法与django自带的ModelAdmin、Form的使用很相似,同样限制于某一个model,但又提供其他的方法来实现定制,真正的灵活多变。该库基于某一个model构建ModelResources,包括制定需导入导出的字段,字段别名、字段值转换等一系列规则。体验下来就是方便实用!!!

基本使用步骤

    最喜欢干的事情了(手动微笑)。记性不好,总犯迷糊,把基本步骤记下来方便下次脑子不好使的时候查阅。
    ★新建resouces.py文件用于编写相关代码,此处不强求,可直接写在admin.py文件里。
    ★新建NameModelResource类,继承于resources.ModelResource类。
    ★下面就是按照需求定制ModelResource,包括model绑定,需处理字段,字段别名,字段值转换,导出顺序、导出表头、新增字段等,详细见官方文档:https://django-import-export.readthedocs.io/en/stable/getting_started.html
    ★最后就是更改原admin的继承类,并在类中申明resource_class对应的NameModelResource。

导入导出表头为中文问题

    一般在数据库中存储的字段名都是英文或缩写形式,直接导出后阅读性差,那么是否可以将其转换为对应的中文名称呢?回答是可以的。
    方法: 使用import_export.fields.Field重新申明需导出的字段,并规定中文名(column_name参数)。

小结

    一定要多学多看更要多用。知识一旦被应用,不仅能加深理解还能帮助记忆,下次遇到的时候就不再是感觉学过,而是会回想起当时的使用场景,说出自己的解决方法以及理解。

未完待续(将会持续更新)…


★★ 鹿子

猜你喜欢

转载自blog.csdn.net/qq_42774567/article/details/86674777