django - 使用 ImportExport Module Django 从 csv 为用户创建用户登录名和密码
问题描述
我想使用 ImportExport 模块 Django 使用 CSV 文件创建新用户的登录名和随机/相同的密码。我尝试了很多例子,但没有用。你能建议什么吗?我什至尝试在导入 csv 文件中设置密码字段。让我知道您可以共享以实现此目的的任何教程/链接。
解决方案
django-import-export 包含几个钩子,您可以在插入数据库之前使用它们来操作数据。这似乎是为每个用户生成随机密码的理想方式。
您可以将其与 Django 的make_random_password()
功能结合使用。在导入电子表格中设置密码似乎不是一个好主意,但也许您出于某种原因需要这样做。
您将需要创建自己的 Resource 子类,并覆盖before_save_instance()
,例如:
class UserResource(resources.ModelResource):
def before_save_instance(self, instance, using_transactions, dry_run):
pw = User.objects.make_random_password()
instance.set_password(pw)
class Meta:
model = User
fields = ('id', 'username', 'password')
import_id_fields = ['id']
推荐阅读
- c - 声明与“__interwork __vfp”不兼容
- reactjs - 为什么将 Electron 与 SPA 框架一起使用?
- linux - 如何在linux中将文件的每一列除以单独文件中的一行?
- three.js - 三.js obj/mtl模型突然显示黑色
- python - 在 Anaconda Python 中安装 Keras 和 TensorFlow 时遇到问题
- apache-spark - 检查 YARN 集群上是否启用了 External Shuffle Service
- python - 在谷歌云功能中使用 PubSub
- javascript - 更改路线时不执行 Framer Motion AnimatePresence
- java - 为什么 Java 和 C 中按位左移的结果不同?
- python - django模板上的关注/取消关注按钮