
Overview
--------

This library will help you to scaffold full **Restful API Resources** in seconds using only one command:

.. code:: console

    $ python manage.py dr_scaffold blog Post body:textfield author:foreignkey:Author

    🎉 Your RESTful Post api resource is ready 🎉

-  ``models.py`` with Models and fields generated by the CLI ⚡
-  ``admin.py`` with Models registered and ready ⚡
-  ``views.py`` with appropriate ViewSets ready⚡
-  ``urls.py`` with appropriate URLs ready.⚡
-  ``serializers.py`` with Model Serializers ready ⚡
-  and more ...



Installation and usage
----------------------

For a detailed guide read `scaffold django apis like a champion <https://www.abdenasser.com/scaffold-django-apis>`_


This library assumes that you have setup your project with **Django Rest
Framework**.
if not, please refer to `this guide <https://www.django-rest-framework.org/#installation>`_

Install dr_scaffold package :

.. code:: console

    $ pip install dr-scaffold

Add ``dr_scaffold`` to your INSTALLED\_APPS like this:

.. code:: python

    INSTALLED_APPS = [
        ...
        'dr_scaffold'
    ]

Add ``CORE_FOLDER`` and ``API_FOLDER`` to your ``settings.py`` include a forward slash at the end of each:


.. code:: python

    CORE_FOLDER = "my_core_folder/" # you can leave them empty
    API_FOLDER = "my_api_folder/"   # or set them to be the same


Enjoy 🎉



Supported field types
---------------------

We support most of django field types.

TODO
----

-  add an option to include swagger documentation
-  handle DRF ViewSets using Mixins

