{ "info": { "author": "Jessie Liauw A Fong", "author_email": "jessielaff@live.nl", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Django :: 2.0", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Topic :: Internet :: WWW/HTTP :: Site Management" ], "description": "# Jcms\r\n\r\nJcms is an easy to use cms for Django(python)\r\n\r\n## Getting Started\r\n\r\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.\r\n\r\n### Prerequisites\r\n\r\nThe only thing that you need to have installed is pip. But if you haven't this means you are also not using django which you should.\r\n\r\n### Installing\r\n\r\nJcms is easy to install. First you install it via pip\r\n\r\n```\r\npip install jcms\r\n```\r\n\r\n
\r\nNow you can add Jcms to INSTALLED_APPS in your settings file.\r\n\r\n```python\r\nINSTALLED_APPS = [\r\n 'jcms'\r\n]\r\n```\r\n\r\n
\r\nAfter this you need to add the urls to your urls.py. You can replace admin with everything you want.\r\n\r\n```python\r\nfrom django.conf.urls import path, include\r\n\r\nurlpatterns = [\r\n path('admin/', include('jcms.urls')),\r\n]\r\n```\r\n\r\nNow to add a user you can do this via the commandline. Find more on this in the [documentation of Django](https://docs.djangoproject.com/en/1.11/topics/auth/default/)\r\n\r\n
\r\nNow go to your site's url and do the /admin/ (or if you have chosen another path type that). You can now log in with the credentials you just created.\r\n\r\n\r\n## Before using\r\n### Be aware of the following things \r\nThere can only be one model with the same name\r\n\r\nThese model names are in use:\r\n- User\r\n- Group\r\n- Option\r\n\r\n\r\n## jcms.py\r\n\r\nYou can add menu items and urls to jcms. This means that the urls you add are connected to the Jcms app.\r\n\r\nWhat you first have to do is add the jcms.py file to the app. The file structure of the app is underneath\r\n\r\n```\r\npractice-app\r\n jcms.py\r\n migrations\r\n static\r\n templates\r\n other-folders\r\n```\r\n\r\nEverything for jcms can be done in the jcms.py file.\r\n\r\n> You can disable the warning for each setting if you don't want to add it by adding this to jcms.py\r\n```python\r\nfrom jcms.components import NoConfig\r\n\r\nmenu_item = NoConfig\r\n```\r\n\r\n### Adding crud views\r\n\r\n\r\n```python\r\nfrom jcms.generators import CMSGenerator\r\nfrom jcmstest.models import Test, PK\r\n\r\nurlpatterns = [\r\n CMSGenerator(Test, ['type', 'value', 'content'], ['type', 'value']),\r\n CMSGenerator(PK, ['name'], ['name'])\r\n]\r\n```\r\n\r\nThe following options can be given:\r\n- **model** = The model this crud is for\r\n- **create_edit_list** = This is an array of items which you can create and edit in these views\r\n- **list_fields** = This is a list of fields of the model which are shown in the list view\r\n\r\nCMSGenerator makes the following views:\r\n- Create. Viewname is ${model_name_lower}Create\r\n- Edit. Viewname is ${model_name_lower}Edit\r\n- List. Viewname is ${model_name_lower}List\r\n- Delete. Viewname is ${model_name_lower}Delete\r\n\r\n### Adding api views\r\n\r\nThis is a basic example of a api view for jcms.\r\n\r\n```python\r\nfrom jcms.generators import APIGenerator\r\nfrom jcmstest.models import Test\r\n\r\nurlpatterns = [\r\n APIGenerator(Test, ['type', 'value', 'content'], lookup_field='type'\r\n method_fields={'overview_fields': ['id', 'type', 'value', 'content']})\r\n]\r\n```\r\n\r\nRequired variables are:\r\n- **model** = model used for the api\r\n- **basis_fields** = default fields that the api uses to serialize\r\n- **lookup_field** = The field that is used for the retrieving of a single object\r\n\r\nThe options you can give to APIGenerator are:\r\n- **methods** = A list that has the methods that are allowed ([see below](#methods))\r\n- **method_fields** = A dict that has the fields for each method\r\n\r\n#### methods\r\n- **overview** = Gets the models by a GET request to /api/${model_name_lower}. You can also filter on these fields using query parameters. If no overview fields are given is goes back to the basis fields\r\n- **create** = Creates a model by a POST request to /api/${model_name_lower}\r\n- **update** = Updates a model by a PUT for a full update and a PATCH for partial update to /api/${model_name_lower}/${id}\r\n- **retrieve** = Gets the model by GET request to /api/${model_name_lower}/${id}\r\n- **delete** = Deletes a model by DELETE request to /api/${model_name_lower}/${id}\r\n- **lookup_field** = Field used for the ${model_name_lower}-detail view\r\n\r\nFor every each option (overview, create, update, retrieve, delete) you can pass certain fields if you don't want to use the basic ones. You can pass them in the dict object of method_fields\r\n\r\nThe names for the views are:\r\n- all or overview and create = ${model_name_lower}-list\r\n- all or update, retrieve and delete = ${model_name_lower}-detail\r\n\r\n### Making the menu items\r\n\r\nFirst you need to create a menu_item.py in the jcms.py file.\r\n\r\n```python\r\nfrom jcms.models import GenericMenuItem, SingleMenuItem\r\nfrom jcmstest.models import Test, PK\r\n\r\nmenu_item = GenericMenuItem('Test', [\r\n SingleMenuItem('Test', 'testList'),\r\n SingleMenuItem('PK', 'pkList'),\r\n])\r\n```\r\n\r\nYou can give the following options:\r\n* name = The name seen on the menu item\r\n* items = List of the menu item. This HAS to be a SingleMenuItem Object.\r\n* slug = The slug used in the url. The slug is optional\r\n\r\n### Adding your menu item to jcms\r\n\r\nThe last step is to add the menu item to jcms. You can do this by going to your django settings and adding this line.\r\n\r\n```python\r\nJCMS_APPS = ['practice-app']\r\n```\r\n\r\nThis are only the apps that should be in Jcms.\r\n\r\n## Icons\r\nYou can use these icons like this:\r\n```\r\n{% include \"icons/[icon-name].svg\" %}\r\n```\r\n\r\nThe icons you can use are =:\r\n- add\r\n- delete\r\n- dropdown-caret\r\n- edit\r\n- groups\r\n- hamburger\r\n- home\r\n- logout\r\n- options\r\n- standard-menu-item\r\n- users\r\n- cancel\r\n\r\n## Templatetags\r\n\r\nThese are the template tags that you can use that are in Jcms\r\n\r\n### add_item\r\n\r\nAdd a item to an array\r\n\r\n```\r\n{% load add_item %}\r\n{% add_item array new_item as array %}\r\n```\r\n\r\n### crud_url\r\n\r\nLoad a crud url based upon the model\r\n\r\n```\r\n{% load crud_url %}\r\n{% url \"Create\"|crud_url:model %}\r\n```\r\n\r\n### get_menu_items\r\n\r\nGet menu items for the cms\r\n\r\n```\r\n{% load get_menu_items %}\r\n{% get_menu_items as menu_items %}\r\n```\r\n\r\n### get_model_name\r\n\r\nGets the name of a model\r\n\r\n```\r\n{% load get_model_name %}\r\n{{ view.model|get_model_name }}\r\n```\r\n\r\n### get_object_attr\r\n\r\nGets the attribute of a object dynamically\r\n\r\n```\r\n{% load get_object_attr %}\r\n{{ object|get_object_attr:field }}\r\n```\r\n\r\n## Deployment\r\n\r\nAsk **[Jessie Liauw A Fong](https://github.com/jessielaf)** to for deployment\r\n\r\n## Built With\r\n\r\n* [Django](https://www.djangoproject.com/) - The web framework used\r\n* [Pip](https://pypi.python.org/pypi/pip) - Dependency Management\r\n* [Yarn](https://yarnpkg.com/) - Npm package manager\r\n\r\n## Authors\r\n\r\n* **[Jessie Liauw A Fong](https://github.com/jessielaf)**\r\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jessielaf/jcms", "keywords": "cms admin development content management system", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "jcms", "package_url": "https://pypi.org/project/jcms/", "platform": "", "project_url": "https://pypi.org/project/jcms/", "project_urls": { "Homepage": "https://github.com/jessielaf/jcms" }, "release_url": "https://pypi.org/project/jcms/1.2.1/", "requires_dist": null, "requires_python": "", "summary": "This is a cms written in Django and made by JCB Development", "version": "1.2.1" }, "last_serial": 4524251, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "8c786ce5acd643c7196a98ae93dc7fa8", "sha256": "ffcb54577b386dcac9b140604de641c7bd81cfbad103597f9c589aa738c3454a" }, "downloads": -1, "filename": "jcms-0.0.2.tar.gz", "has_sig": false, "md5_digest": "8c786ce5acd643c7196a98ae93dc7fa8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151311, "upload_time": "2017-09-06T13:09:20", "url": "https://files.pythonhosted.org/packages/af/0b/e2eaa2ca0ed1c8f514c56c00db32f39f893d426738daac6e5b73875de594/jcms-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "95b6ce373a7acae26bcaabac6a209101", "sha256": "6da4003fcf5eaf1f5831f1ba08f3c21ac75ee8b6a3aa1d7dca35e1f9fa152743" }, "downloads": -1, "filename": "jcms-0.0.3.tar.gz", "has_sig": false, "md5_digest": "95b6ce373a7acae26bcaabac6a209101", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151323, "upload_time": "2017-09-06T13:16:03", "url": "https://files.pythonhosted.org/packages/6e/e7/873e294b2a8b4a90f7492ef46beb37fce9c0f3bf2e4fde53c497ea1e9d8f/jcms-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "1a753e65632a97e6fb4580261a953deb", "sha256": "53c634b1b652f06dad204bf1fefd31d68e00682881ff6e9c47f4a5db15ccd074" }, "downloads": -1, "filename": "jcms-0.0.4.tar.gz", "has_sig": false, "md5_digest": "1a753e65632a97e6fb4580261a953deb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151316, "upload_time": "2017-09-06T13:21:56", "url": "https://files.pythonhosted.org/packages/ce/9d/fb1af539e6c222468ba79b74def2ca84381b9a7d0ec68fa5fe905f68e700/jcms-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "9cf751d891fcd83bb171ad134d97e37f", "sha256": "be786ce2c986ae6bc8fa8f5ff309bea26ddefa78f98239e3aa1f18010287b1c4" }, "downloads": -1, "filename": "jcms-0.0.5.tar.gz", "has_sig": false, "md5_digest": "9cf751d891fcd83bb171ad134d97e37f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151859, "upload_time": "2017-09-06T13:32:03", "url": "https://files.pythonhosted.org/packages/e7/a6/deea7bf8d018032ebd50a8652c118c0f579363322bfbf05f7301de9e15c7/jcms-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "0cf2087e5297f54075e7aec74ca5ff02", "sha256": "1145edd6c99f737e7e1de9da93d2b60a6b57df35982d6768f622fc82df44311a" }, "downloads": -1, "filename": "jcms-0.0.6.tar.gz", "has_sig": false, "md5_digest": "0cf2087e5297f54075e7aec74ca5ff02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151869, "upload_time": "2017-09-06T14:18:20", "url": "https://files.pythonhosted.org/packages/26/54/51cf17ca0e751a4aef9d3e6a45b377a31082dce77f3540f6a1a13d9e9c17/jcms-0.0.6.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "751b8d78ab0688a027b991f843d74190", "sha256": "b1a6b8d60141a37640307529c54785aee799e7110bb618be30db048e9347d637" }, "downloads": -1, "filename": "jcms-0.0.8.tar.gz", "has_sig": false, "md5_digest": "751b8d78ab0688a027b991f843d74190", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151931, "upload_time": "2017-09-10T11:42:09", "url": "https://files.pythonhosted.org/packages/89/96/ff746988b73f988dd94918bc0004357dcce1532fe817856b99cb0bb9499a/jcms-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "faf2f9e9f384807ba4675b9976c3ec04", "sha256": "e550b9c049c4f3c76fff2dd8f6e331f060b9964425fd65c94bdeb107fa1c0801" }, "downloads": -1, "filename": "jcms-0.0.9.tar.gz", "has_sig": false, "md5_digest": "faf2f9e9f384807ba4675b9976c3ec04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151809, "upload_time": "2017-09-10T12:06:55", "url": "https://files.pythonhosted.org/packages/63/ca/3db53e65c1bc7a570a8a07152c2e551ea27c548353ae6d1b5e08adcf2fa0/jcms-0.0.9.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "da4d37392208502ddf07a9baf0aac390", "sha256": "9f0052a062070a3fe3940bf75ab1baaa2b47d77bb56429d67ee04af6325761bc" }, "downloads": -1, "filename": "jcms-1.0.0.tar.gz", "has_sig": false, "md5_digest": "da4d37392208502ddf07a9baf0aac390", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 98318, "upload_time": "2017-11-27T21:47:55", "url": "https://files.pythonhosted.org/packages/ab/b7/32ef85369eaa435dd8f97f93da290e6c0c98634fbf8d8c2a0df595aafb73/jcms-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "e2a598870e31d203deb45bc8329dba5d", "sha256": "e84c78c64a491dced3bb800b85474ab155f6e427d0e3df691eee5102f3387be7" }, "downloads": -1, "filename": "jcms-1.0.1.tar.gz", "has_sig": false, "md5_digest": "e2a598870e31d203deb45bc8329dba5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 98299, "upload_time": "2017-11-27T22:04:18", "url": "https://files.pythonhosted.org/packages/54/42/4a98184ec1034c925267c261a00014e5d04b95e4d437c96f8870c6b5dd2c/jcms-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "a035cee6cde3904370babf429a394271", "sha256": "088164d751e884f619f2eea5b37faa69c9857c5de697fbbdc14eeebcfa277117" }, "downloads": -1, "filename": "jcms-1.1.0.tar.gz", "has_sig": false, "md5_digest": "a035cee6cde3904370babf429a394271", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 98074, "upload_time": "2017-12-03T21:23:05", "url": "https://files.pythonhosted.org/packages/69/7e/133479a68d0654c747b6c271172ed060980c7f75281b9a7543f7c7f0d53f/jcms-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "6fc71248e1b18a90073d6dae4c78db0f", "sha256": "32467eb265deddfb904bc4f5d8ee994df743c3621359d29b3b56c445ca4a7a64" }, "downloads": -1, "filename": "jcms-1.1.1.tar.gz", "has_sig": false, "md5_digest": "6fc71248e1b18a90073d6dae4c78db0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 114144, "upload_time": "2018-02-07T21:09:14", "url": "https://files.pythonhosted.org/packages/5a/7f/c3abae6db639da7d3b3670aa3d56ec360176d3b3fcc135a108c0be516a3a/jcms-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "00a73f0a04b58db5277b134a42798e45", "sha256": "c9bc787d78b697c14edee00624768e616d58229b8d941ae1aa26bd9cbc43ca9d" }, "downloads": -1, "filename": "jcms-1.1.2.tar.gz", "has_sig": false, "md5_digest": "00a73f0a04b58db5277b134a42798e45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 115806, "upload_time": "2018-03-23T11:09:11", "url": "https://files.pythonhosted.org/packages/b3/53/ef440b0146c811f215478407d4bfa3a9ce660a0d2d67236cd0a49f310eb8/jcms-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "f6b53f1ef931c10708eea38650e01053", "sha256": "7c0068285473bc87ebcb492799ea199652a2dd23f4bbba9d09d854e36822415c" }, "downloads": -1, "filename": "jcms-1.1.3.tar.gz", "has_sig": false, "md5_digest": "f6b53f1ef931c10708eea38650e01053", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 115822, "upload_time": "2018-03-27T07:54:54", "url": "https://files.pythonhosted.org/packages/45/68/e62efff6cd63954384caf8f44233d20eb6a0a97190d5737cb0102d58455a/jcms-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "3ce1e1aa70d136eb53a7aa721b8440af", "sha256": "f52324e6893960a8e4057fb9b98dafb95e029bb12f145776412e27c5bd8491f1" }, "downloads": -1, "filename": "jcms-1.1.4.tar.gz", "has_sig": false, "md5_digest": "3ce1e1aa70d136eb53a7aa721b8440af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 115801, "upload_time": "2018-03-27T10:16:57", "url": "https://files.pythonhosted.org/packages/77/e5/1e1f34a120a9dbb9b4cd1628c3aa08c00ac9436134d67767e764de46feeb/jcms-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "54d04ede9daf43e9c8c0a8177a3bd4f2", "sha256": "547e49886912c6cb4412627518a5998def1f22794eb63e66df365edad129025a" }, "downloads": -1, "filename": "jcms-1.1.5.tar.gz", "has_sig": false, "md5_digest": "54d04ede9daf43e9c8c0a8177a3bd4f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 115815, "upload_time": "2018-03-27T10:33:34", "url": "https://files.pythonhosted.org/packages/57/2f/fe751ce261f936c1e4636b67ad537b04d0a0b38a39f0fc81e35d0c24e1d4/jcms-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "b08605a7f58aa66b56e4cc8afc54bf03", "sha256": "9afed2deaf44553b2844b2dabe0623bf28b6d23af23840577838770ae4ed166e" }, "downloads": -1, "filename": "jcms-1.1.6.tar.gz", "has_sig": false, "md5_digest": "b08605a7f58aa66b56e4cc8afc54bf03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 115825, "upload_time": "2018-03-27T12:28:17", "url": "https://files.pythonhosted.org/packages/b2/05/12f99fb80f06dec60ac8e9014bc2ec262cef17d0e5988e6e1bf7abf7f23f/jcms-1.1.6.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "3cc4386fa45387383d259f4e9cabaf07", "sha256": "b1043dbb4bf62d6d1086e7902f339b60766d5f426a5f701bc281c1a632b10d15" }, "downloads": -1, "filename": "jcms-1.2.0.tar.gz", "has_sig": false, "md5_digest": "3cc4386fa45387383d259f4e9cabaf07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 116623, "upload_time": "2018-11-21T18:38:22", "url": "https://files.pythonhosted.org/packages/e7/63/1f19080f901e1fc651993566827ab40cadc8bb68a6433df58906129b532b/jcms-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "23a9f575f5d6fb9dbeffc41a40ae32ba", "sha256": "783cecdc6676910c8633776a892ac3744deb32f48801652813ff5094ec30a376" }, "downloads": -1, "filename": "jcms-1.2.1.tar.gz", "has_sig": false, "md5_digest": "23a9f575f5d6fb9dbeffc41a40ae32ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 116605, "upload_time": "2018-11-24T18:28:47", "url": "https://files.pythonhosted.org/packages/68/4e/727158df7b6ba90a406422ff22390c398c6b30c0daeadc3c5eff859995e5/jcms-1.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "23a9f575f5d6fb9dbeffc41a40ae32ba", "sha256": "783cecdc6676910c8633776a892ac3744deb32f48801652813ff5094ec30a376" }, "downloads": -1, "filename": "jcms-1.2.1.tar.gz", "has_sig": false, "md5_digest": "23a9f575f5d6fb9dbeffc41a40ae32ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 116605, "upload_time": "2018-11-24T18:28:47", "url": "https://files.pythonhosted.org/packages/68/4e/727158df7b6ba90a406422ff22390c398c6b30c0daeadc3c5eff859995e5/jcms-1.2.1.tar.gz" } ] }