Using drf-schema-adapter with Ember.js
In this cookbook, we will see how to create enpoints from models without building any frontend yet.
First let's kickstart our project by installing cc_djember_experience which will setup a Django project with a virtualenv and Django REST Framework pre-installed as well as a full Ember JS install pre-linked to the Django backend.
Usage of this cookiecutter is not mandatory. If you already know how to configure authentication
and setting up Ember and Django to talk together, you can use your own setup; just make sure
export_app with the correct paths and frontend application name.
To start with this cookiecutter, you will first need to install cookiecutter globally on your computer if you haven't already done so.
$ sudo pip install cookiecutter
Once cookiecutter is installed you can go forward and bootstrap your new project:
cookiecutter https://bitbucket.org/levit_scs/cc_djember_experience.git cd <project_name>/back ./run.sh
If you have created a superuser while running the cookiecutter, you should be able to log-in (on the top right). You'll notice there is already one model available in the "Ember Admin".
All the info needed for that "Ember Admin" view was generated by Django (both
This will launch your project, you can now open your browser at
http://localhost:8000 and you will
get a welcome screen.
That page is created by a "composite" of Django and Ember's template engines. It is only being
rendered by Django though.
To get an interactive development frontend, you will need to launch Ember's development server as well
(in another shell).
cd <project_name>/front ./run.sh
You can now point your browser at
http://localhost:4200 and you should see a quite similar page.
You will probably notice a few differences. Those differences come from the fact that the template
has not been rendered by Django's template engine so it is missing a few variables.
Now that the base project is setup, you can refer to
the main cookbook on how to create endpoints for models.
After this step, you should have 2 new endpoints (
Please come back to this cookbook when you reach the end of the other one.