脚本文件
用户信息源
用户信息文件按顺序存储用户信息(用户名,密码,邮箱,用户组,是否通知,addsubmit)。可以按如下两种方式组织(以以下格式复制到txt文本中即可):
包含全部信息
usr1,123456,usr1@usr.com,10,0,addsubmit usr2,123456,usr2@usr.com,10,0,addsubmit usr3,123456,usr3@usr.com,10,0,addsubmit usr4,123456,usr4@usr.com,10,0,addsubmit也可以只需要部分信息
usr1,123456,usr1@usr.com usr2,123456,usr2@usr.com usr3,123456,usr3@usr.com usr4,123456,usr4@usr.comtxt文本
说明
访问此链接即可查看添加新用户所需要填写的选项:
http://192.168.1.111/bbs/admin.php?frames=yes&action=members&operation=add
192.168.1.111 是discuz所在服务器ip
bbs 是discuz部署在服务器上的名称
脚本执行说明
- 执行环境:Python2.7
- 执行命令:./discuz.py
脚本相应调整
根据具体环境需要作出的调整
1.main函数中(在130行):
file = '/Users/ux/py/dis/user.txt' home_url = 'http://192.168.1.147/bbs/admin.php' admin = 'ux' pwd = 'ux123456' file:需要被导入的用户信息的txt文本路径 home_url:管理后台的访问路径 admin:管理员的登录名 pwd:管理员的登录密码2.对应的host修改(29行):
"Host":"192.168.1.111", 将host修改为与home_url中一致的IP即可
个别用户添加失败解决方法
找到Discuz的数据表pre_common_member, 查找与添加失败的用户email一致的记录,删除或修改即可。
查询并导出符合discuz.py要求的用户数据
mysql:
SELECT CONCAT(username,','),CONCAT(password,','),CONCAT(username,"@email.com") AS email FROM pre_ucenter_members;db2:
SELECT CONCAT(name,','),CONCAT(pwd,','),CONCAT(name,'@user.com') AS email FROM PersonInfo WHERE Active='1';
参考文章
http://blog.csdn.net/zhongping136/article/details/46730191
http://blog.csdn.net/change518/article/details/50555301