如何在python中从进程中设置变量?

2024-04-16 20:45:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我通过ajax调用这个函数。主要目的是返回带有一些数据的HttpResponse对象。数据取决于登录的结果

def验证\u帐户返回布尔值。如何在python中设置进程中的变量是否有效

process.join()是冗余的吗

@login_required
@csrf_protect
def create_account(request):
    if request.user.is_authenticated():
        username = ''
        password = ''
        body_unicode = request.body.decode('utf-8')
        body = json.loads(body_unicode)
        try:
            username = body['username']
            password = body['password']
        except KeyError as e:
            log.exception(e)
            return HttpResponseServerError()

        try:
            accounts_of_user = Account.objects.get(username=username)

            if accounts_of_user:
                return HttpResponse('901', content_type='text/plain')
        except ObjectDoesNotExist as e:

            is_valid = False

            def new_process():
                is_valid = validate_account(username=username, password=password)

            process = Process(target=new_process())
            process.daemon = True
            process.start()
            process.join()
            process.terminate()

            print(is_valid)

            if is_valid:
                signer = Signer(salt='extra')
                account = Account()

                account.username = username
                account.password = signer.sign(password)
                account.save()

                request.session['current_account'] = username
                return HttpResponse('902', content_type='text/plain')
            else:
                return HttpResponse('903', content_type='text/plain')


    else:
        return HttpResponseForbidden()

Tags: returnifisrequestdeftypeusernamebody