Using drf-schema-adapter with Ember.js
Setup
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
to configure 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 drf_auto_endpoint
and
export_app
)
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 (catalog/products
and catalog/categories
).
Please come back to this cookbook when you reach the end of the other one.