程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

[Django-GAGA system] Automatically append permissions when adding users-20220801

編輯:Python

效果:Automatically append permissions when adding users.

代碼:

關鍵點在於user_group = Group.objects.get(name=‘admin’)和user_group.user_set.add(user).

from django.contrib.auth.models import Group
from django.contrib.auth.models import User
# 批量上傳User
def import_user(self, request, obj, change):
wb = load_workbook(filename=obj.file.path)
ws = wb.get_sheet_names()
ws = wb.get_sheet_by_name(ws[0])
max_row = ws.max_row
headers = ['username', 'password', 'first_name', 'last_name','email']
lists = []
for row in range(2, max_row+1):
r = {
}
for col in range(1, len(headers) + 1):
key = headers[col - 1]
r[key] = ws.cell(row=row, column=col).value
lists.append(r)
print('lists',lists)
for cell in lists:
try:
username = str(cell['username'])
password = str(cell['password'])
first_name = str(cell['first_name'])
last_name = str(cell['last_name'])
email = str(cell['email'])
user1 = User.objects.get_or_create(
username = username,
password = password,
first_name = first_name,
last_name = last_name,
email = email,
is_staff = 1,
)
user = User.objects.get(username = username)
user.set_password(password)
user.save()
print('user',user)
user_group = Group.objects.get(name='admin')
user_group.user_set.add(user)
print('給',user,'添加admin權限')
user.save()
except:
print('username',username)
pass
print('上傳成功')

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved