Python Django:如何从excel中的用户表授予用户帐户
我想用存储在Excel电子表格中的学生代码用户名和密码创建帐户,我该怎么办?首先,将Excel数据导出为CSV文件。然后,您可以使用库轻松地遍历CSV文件,并将数据插入Django 例如,假设CSV文件中的字段如下所示:Python Django:如何从excel中的用户表授予用户帐户,python,django,Python,Django,我想用存储在Excel电子表格中的学生代码用户名和密码创建帐户,我该怎么办?首先,将Excel数据导出为CSV文件。然后,您可以使用库轻松地遍历CSV文件,并将数据插入Django 例如,假设CSV文件中的字段如下所示: name, username, password 然后,您可以使用此代码逐行读取CSV文件并将用户添加到数据库: def bulk\u add\u用户(路径): 打开('path_to_csv_file',mode='r')作为csv_文件: reader=csv.reade
name, username, password
然后,您可以使用此代码逐行读取CSV文件并将用户添加到数据库:
def bulk\u add\u用户(路径):
打开('path_to_csv_file',mode='r')作为csv_文件:
reader=csv.reader(csv\u文件)
_=下一个(读卡器)
对于行内读取器:
名称=行[0]
用户名=第[1]行
密码=第[2]行
如果没有(姓名和地址)
用户名和
密码):
raise VALUERROR(f'Invalid User data!')
user=user(name=name,username=username)
user.set_密码(password)
user.save()
编辑:
如果您正在使用django模型(或扩展它),您应该使用
user。设置密码(“原始密码”)
,以便在保存之前进行密码加密。您可以使用用户名和密码创建user
对象。例如,通过处理csv文件,其中第一列包含用户名
,第二列包含原始密码
:
from csv import reader
from django.contrib.auth.models import User
with open('users.csv', 'r') as csv_file:
csvf = reader(csv_file)
data = []
for username, password, *__ in csvf:
user = User(username=username)
user.set_password(password)
data.append(user)
User.objects.bulk_create(data)
来自csv导入读取器的
从django.contrib.auth.models导入用户
打开('users.csv','r')作为csv\u文件:
csvf=读卡器(csv_文件)
数据=[]
对于csvf中的用户名、密码、*\uuuuuu:
用户=用户(用户名=用户名)
user.set_密码(password)
data.append(用户)
User.objects.bulk\u创建(数据)
在这里使用很重要,因为这将在数据库中散列密码。请稍候,您存储了原始密码?很抱歉键入我的问题,我想使用Excel电子表格中存储的学生代码用户名和密码创建帐户,但密码将像往常一样加密。我尝试将csv表添加到数据库中,但密码很粗糙,无法登录。我根据您的登录问题编辑了答案,检查一下。使用说明或者你可以创建一个来运行它(如果你经常使用此代码)。我刚刚尝试过,它工作得非常好,非常感谢Pedram:3是的,解决方案与Pedram非常相似,它会工作的,谢谢!