{ "info": { "author": "LevIT", "author_email": "info@levit.be", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.9", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "# Djember Model\n\nThis project is aimed at automatically generating EmberJS models from Django REST Framework serializer definitions.\nThis can be done in 2 different ways:\n\n- on-the-fly generation\n- on-disk files generation\n\n## installation\n\nInstall using pip:\n\n```\npip install djember_model\n```\n\nAdd djember_model to your `INSTALLED_APPS`:\n\n```\n# settings.py\n\nINSTALLED_APPS = (\n ...\n djember_model,\n)\n```\n\n## Usage\n\n### On-the-fly generation\n\nIn order to generate js files on the fly, you'll have import the urls from the project add add them to your urlpatterns.\n\n```\n# urls.py\n\nfrom djember_model import urls as djember_urls, settings as djember_settings\n...\n\nurlpatterns = [\n ...\n url(r'^models/', include(djember_urls, namespace=djember_settings.URL_NAMESPACE)),\n]\n```\n\nFor each `ViewSet` (Ember expects the same endpoint for CRUD operations, so it's better to use `ViewSet`'s) registered on your router, this will provide a corresponding ember js model.\n\nIf you have registered the following Viewset:\n```router.register('categories', CategoryViewSet)```\n\nThe corresponding (ES5) Ember model definition will now be available at http://localhost:8000/models/categories.js\n\nThis functionality is meant to be used with [ember-cli-dynamic-model](https://bitbucket.org/levit_scs/ember-cli-dynamic-model) and the recommended usage is to register all your `ViewSet`'s using the <app_name><model_name_correct_english_plural> as in `my_app/categories`.\n\n### On-disk files generation\n\n`djember_model` also provides a management command to generate (ES6) Ember models on disk:\n\n```./manage.py export_to_ember route_registered_with_the_router```\n\nSo assuming you have registered the following ViewSet:\n\n```router.register('sample/categories', CategoryViewSet)```\n\nyou can run:\n\n```./manage.py export_to_ember sample/categories```\n\nin order to generate the corresponding model.\nThis command will generate 3 files in you ember app:\n\n- `app/models/sample/base/category.py` <- always generated\n- `app/models/sample/category.py` <- only generate the file if it doen't exist yet\n- `tests/unit/models/sample/category-test.py` <- always generated\n\nThe fields or attributes definition will be generated in `app/models/sample/base/category.py`; `app/models/sample/category.py` inherits from the first file and is the place where you should add any customization to your Ember model.\n\n## Configuration\n\n`djember_model` comes with a series of settings that can (should) be customized:\n\n### `DJEMBER_ROUTER_PATH`\n\n*Default value*: ``'urls.router'`\n\n*Used by*: Dynamic & on-disk generation\n\n\nThe python path to the router on which you registered your `ViewSet`'s\n\n### `DJEMBER_EMBER_APPLICATION_NAME`\n\n*Default value*: `'djember'`\n\n*Used by*: Dynamic generation only\n\n\nThe name of your ember application or `modulePrefix` (found in `config/environment.js` in your ember app folder)\n\n### `DJEMBER_EMBER_APPLICATION_PATH`\n\n*Default value*: `'../front'`\n\n*Used by*: On-disk generation only\n\n\nRelative path from your Django project base to your Ember application base\n\n### `DJEMBER_FIELD_TYPE_MAPPING`\n\n*Default value*: \n```\n{\n 'BooleanField': 'boolean',\n 'NullBooleanField': 'boolean',\n 'IntegerField': 'number',\n 'FloatField': 'number',\n 'DecimalField': 'number',\n 'ListField': None,\n 'DictField': None,\n 'JSONField': None,\n}\n```\n\n*Used by*: Dynamy & on-disk generation\n\n\nMapping from Django Model fields to ember-data attr types. Any missing mapping will be mapped as `string`. If you are using custom transforms in Ember, you probably want to update these mappings.\n\n\n---\n\nLicense information available [here](LICENSE.md).\n\nContributors code of conduct is available [here](COC.md). Note that this COC **will** be enforced.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/levit_scs/djember_model", "keywords": null, "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "djember_model", "package_url": "https://pypi.org/project/djember_model/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/djember_model/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://bitbucket.org/levit_scs/djember_model" }, "release_url": "https://pypi.org/project/djember_model/0.9.3/", "requires_dist": null, "requires_python": null, "summary": "Package description", "version": "0.9.3" }, "last_serial": 2382137, "releases": { "0.9": [], "0.9.1": [ { "comment_text": "", "digests": { "md5": "5f56dad2f911faaf11cb0cdd38cf0e80", "sha256": "3006e2e2fc1acc7114bacb40b9c8b93070fa613aa0b0ffe282f750fd80d63f1e" }, "downloads": -1, "filename": "djember_model-0.9.1.tar.gz", "has_sig": false, "md5_digest": "5f56dad2f911faaf11cb0cdd38cf0e80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5028, "upload_time": "2016-07-28T05:55:00", "url": "https://files.pythonhosted.org/packages/7c/57/26fe9488ab2a54e88506ee6550dd492036fd481324f15c140414eb4af037/djember_model-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "3ae439e9f14a88595f25e1e16ef5b983", "sha256": "75486b2c9d7c42c3438e61116c288bc2ce3826fbc117b760d39aa5f20c603055" }, "downloads": -1, "filename": "djember_model-0.9.2.tar.gz", "has_sig": false, "md5_digest": "3ae439e9f14a88595f25e1e16ef5b983", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5177, "upload_time": "2016-07-28T07:58:43", "url": "https://files.pythonhosted.org/packages/4e/40/34185ead88b5d46e206c427d168d2f4ad526c475e243984865e63cf6f681/djember_model-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "8f03d8be1dece230d8ebf78ae3e4d16b", "sha256": "e253d0f81289ffc7a70787ef024596762667238f8bab78d784fa22170d6c8442" }, "downloads": -1, "filename": "djember_model-0.9.3.tar.gz", "has_sig": false, "md5_digest": "8f03d8be1dece230d8ebf78ae3e4d16b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13076, "upload_time": "2016-10-05T14:34:15", "url": "https://files.pythonhosted.org/packages/97/a0/1f8c9a864c38fb83fc43bc907d1923f40877184bda3697f4cc5e67b019ff/djember_model-0.9.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8f03d8be1dece230d8ebf78ae3e4d16b", "sha256": "e253d0f81289ffc7a70787ef024596762667238f8bab78d784fa22170d6c8442" }, "downloads": -1, "filename": "djember_model-0.9.3.tar.gz", "has_sig": false, "md5_digest": "8f03d8be1dece230d8ebf78ae3e4d16b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13076, "upload_time": "2016-10-05T14:34:15", "url": "https://files.pythonhosted.org/packages/97/a0/1f8c9a864c38fb83fc43bc907d1923f40877184bda3697f4cc5e67b019ff/djember_model-0.9.3.tar.gz" } ] }