Exemplo n.º 1
0
def handle_uploaded_xls_student(f):
    list_return = []
    filedir = os.path.dirname(__file__)
    filedir = filedir.replace('\\', '/')
    filepath = '/static/'  # 指定文件路径
    filepathfilename = filedir + filepath + f.name.split('.')[0] + getCurrentTime('_%Y%m%d_%H%M%S') + '.' + \
                       f.name.split('.')[-1]
    print(filepathfilename)
    with open(filepathfilename, 'wb+') as destination:
        for chunk in f.chunks():
            destination.write(chunk)
    # 识别 并写入 数据库
    # 删除掉表头
    data = xlrd.open_workbook(filepathfilename)
    table = data.sheet_by_index(0)
    nrows = table.nrows
    # 写入数据库
    ################### 抛出异常
    for i in range(0, nrows):
        user = User()
        user.username = table.cell(i, 0).value
        user.name = table.cell(i, 1).value
        myclassname = table.cell(i, 2).value
        myclassname = myclassname.replace(' ', '')
        # Classes.objects.get_or_create(classname=myclassname)
        try:
            user.myclass = Classes.objects.get(classname=myclassname)
            # 不需要rollback
        except Exception as e:
            print(e)
            user.myclass = Classes.objects.create(classname=myclassname)
            print("创建班级" + user.myclass.classname)
            list_return.append("创建班级" + user.myclass.classname)

        user.headImage = '//'
        # 默认密码
        user.password = '******'  # 123456
        user.type = 1
        try:
            user.save()
        except Exception as e:
            # 存在了
            print(e)
            print(user.name + '(' + user.username + ')' + "已经存在")
            list_return.append(user.name + '(' + user.username + ')' + "已经存在")

    # 删除临时文件
    list_return.append("上传完毕")
    os.remove(filepathfilename)
    return list_return
Exemplo n.º 2
0
Arquivo: views.py Projeto: AshameL/DS
def register(request):
    from django.core.exceptions import ObjectDoesNotExist
    from website import models
    if request.method == 'POST':  # 表单提交时
        form = UserLogForm(request.POST)  # form 包含提交的数据
        if form.is_valid():  # 如果提交的数据合法
            u = form.cleaned_data['username']
            p = form.cleaned_data['password']
            pw_md5 = hashlib.md5(p.encode(encoding='utf-8')).hexdigest()
            print('pw_md5:' + pw_md5)
            try:
                models.User.objects.get(username=u)
            except ObjectDoesNotExist:
                user = User()
                user.name = u
                user.username = u
                user.password = pw_md5
                user.myclass = '校外'
                user.type = 2
                user.headImage = '//'
                user.save()
                # 登录到新页面中
                return render(request, 'teacher/t_index.html')
            return HttpResponse('error register')