What is the difference between "AWS Command Line Interface" and "AWS Elastic Beanstalk Command Line Interface"? 
Do I need both to deploy a Django project through AWS Elastic Beanstalk?
Thank you!
You should start with the EBCLI and then involve the AWSCLI where the EBCLI falls short.
The AWSCLI (aws) allows you to run commands from a bunch of different services, whereas, the EBCLI (eb) is specific to Elastic Beanstalk. The EBCLI makes a lot of tedious tasks easier because it is less hands on than the AWS CLI. I have observed, for most of my tasks, the EBCLI is sufficient; I use the AWS CLI and the AWS SDKs otherwise.
Consider deploying your Django app.

You could start off by performing eb init, which would take you through an interactive set of menus, from which you would choose your region, and solution stack (Python).
Next, you would perform eb create, which creates an application version and subsequently an Elastic Beanstalk environment for you.

The above two EBCLI steps translate to half a dozen or more AWSCLI steps. Furthermore, a lot of the processes that the EBCLI hides from you involve multiple AWS services, which can make the task of replicating the EBCLI through the AWS CLI all the more tedious and error-prone.
What is the difference between AWSCLI and AWSEBCLI?