{ "info": { "author": "ElaboraInfo", "author_email": "ElaboraInfo@elabsis.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Django" ], "description": "# Cajax\n[![Build Status](https://travis-ci.com/FelipeLimaM/django-cajax.svg?token=ssxA8iUN5Ljo85PBsCrq&branch=master)](https://travis-ci.com/FelipeLimaM/django-cajax) [![Gitter](https://badges.gitter.im/FelipeLimaM/django-cajax.svg)](https://gitter.im/FelipeLimaM/django-cajax?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)\n\nThis amazing library was developed to facilitate communication between your Django Server and your Website through AJAX requests. Check below the wiki to view the operation of the library.\n\n## Manual\nHere is a manual how it works.\n\n### Installation\n\nDownload and install package:\n```sh\n $ pip install django-cajax\n```\n\nThrough Github:\n```sh\n $ pip install -e git://github.com/FelipeLimaM/django-cajax#egg=djangocajax\n```\n\n### Configure Cajax on your Django Project\n\n**urls.py**\n```python\nurlpatterns += [\n ...\n url(r'^', include('cajax.urls')),\n]\n\n```\n\n**settings.py**\n```python\nINSTALLED_APPS = (\n ...\n 'cajax',\n)\n\nMIDDLEWARE_CLASSES = (\n ...\n 'django.middleware.csrf.CsrfViewMiddleware',\n)\n```\n\n**base.html**\n```html\n{% load cajax %}\n\n \n Hello!\n \n \n

My Page!

\n
\n

End of my page.

\n \n {% cajax csrf_token %} \n \n\n```\n\n### Using Cajax\nCreate a file called \"cajax.py\" for each app that you want to use Cajax.\nThe Cajax Core will import all the methods in these files.\n```\n-project\n--app1 <-- django app NOT using cajax\n---views.py\n---models.py\n--app2 <-- django app using cajax\n---cajax.py <-- put your specific methods here\n---views.py\n---models.py\n--app3 <-- django app using cajax\n---cajax.py <-- put your specific methods here\n---views.py\n---models.py\n```\n\nIn this file, you'll create a new type of views on Django, called \"Cajax Views\". These views are executed by Cajax Core.\nEach view will receive two arguments:\n* request: Django Request Instance, like a normal django view;\n* cajax: Cajax Core Instance (See attributes and methods avaliable below)\n\nDon't worry about return anything.\n\n**cajax.py**\n```python\nimport json # use json.dumps() to send dictionarys\n\ndef my_cajax_view(request, cajax):\n info = \"important text\"\n result = cajax.data['value1'] + cajax.data['value2']\n my_dict = {\n 'name': cajax.data['name'],\n 'result': result\n }\n\n if cajax.data['name']:\n cajax.script(\"alert('Welcome \"+ cajax.data['name'] +\"!');\")\n cajax.script(\"on_client('Result: \"+ result +\"');\")\n cajax.script(\"with_dictionary(\"+ json.dumps(my_dict) +\");\")\n cajax.html(\"#val\", 'info')\n else:\n cajax.redirect('www.mypage.com?result=error')\n\n # More Methods\n # cajax.render('#id', 'template.html', {'value': 12})\n # cajax.html('.class', 'Hello World!')\n # cajax.add_css_class('a', 'css-class')\n # cajax.redirect('www.google.com')\n # cajax.get_response()\n```\n\nNow on your template, call cajax(view) or cajax(view, data).\n```javascript\nfunction on_client(string) {\n $(\"#val\").val(string);\n}\n\nfunction with_dictionary(dict) {\n alert(dict['name']);\n}\n\n// Cajax Calls\ncajax(\"my_cajax_view\");\n// or\ncajax(\"my_cajax_view\", {'name': 'Jo\u00e3o', 'value1': 2, 'value2': 3});\n\n```\n\n## Cajax Core Attributes and Methods\n\nThe Cajax Core has the following attributes and methods avaliable to use:\n\nAttribute | Description\n--------- | -----------\ndata | Dicionary with data passed by cajax(url, data)\n\nMethod | Description\n------ | -----------\nget_response() | Return the HttpResponse that will be returned on the end. USE WITH CAUTION!\nclean() | Erase all data on response\nscript(code) | Put a raw javascript code on response\nredirect(url) | Redirect page to **url**\nshow(selector) | Force *display: block;* on node\nhide(selector) | Force *display: none;* on node\nprepend(selector, value) | Prepend value on node\nappend(selector, value) | Append value on node\nassign(selector, attribute, value) | Put a value on attribute of each node\nadd_css_class(selector, class) | Add class on node\nremove_css_class(selector, class) | Remove class on node\nhtml(selector, html) | Put html value on node\nrender(selector, template, context={}) | Render a template using context with Django Template on node\n\n\n## Contributors\n* Felipe Lima Morais\n* ElaboraInfo\n* Elabora Consultoria Ltda\n* Gabriel de Biasi", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/FelipeLimaM/django-cajax/tarball/1.0.21", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/FelipeLimaM/django-cajax", "keywords": "Django,Ajax,jQuery,connection", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "django-cajax", "package_url": "https://pypi.org/project/django-cajax/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-cajax/", "project_urls": { "Download": "https://github.com/FelipeLimaM/django-cajax/tarball/1.0.21", "Homepage": "https://github.com/FelipeLimaM/django-cajax" }, "release_url": "https://pypi.org/project/django-cajax/1.0.21/", "requires_dist": null, "requires_python": null, "summary": "Django Asynchronous Communication with jQuery/Ajax", "version": "1.0.21" }, "last_serial": 1981359, "releases": { "1.0.17": [ { "comment_text": "", "digests": { "md5": "0394ccccd293fe76ce0be86ab50ac773", "sha256": "e42e4d14a3569d14cab744c34bb049f0f77dfbc0835da5295d0da2ec7c069e91" }, "downloads": -1, "filename": "django-cajax-1.0.17.tar.gz", "has_sig": false, "md5_digest": "0394ccccd293fe76ce0be86ab50ac773", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4754, "upload_time": "2016-02-19T16:46:54", "url": "https://files.pythonhosted.org/packages/41/9f/02631a90532f03c4fa34ec089ed990cd7d9b83ec8b3a6da6e1161d8b0f19/django-cajax-1.0.17.tar.gz" } ], "1.0.18": [ { "comment_text": "", "digests": { "md5": "2afdba61035b828d02c0a6cfc8d41d1a", "sha256": "1787170ea8511d41fbe1be9d017fe0a7cddc8e5bd94280f4db9c2a3ee901e340" }, "downloads": -1, "filename": "django-cajax-1.0.18.tar.gz", "has_sig": false, "md5_digest": "2afdba61035b828d02c0a6cfc8d41d1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4763, "upload_time": "2016-02-29T01:03:01", "url": "https://files.pythonhosted.org/packages/02/d5/26e3bffe9ed9b5d5a11d83fca6523aab18e0ba09115e3eb1a2a97198e33a/django-cajax-1.0.18.tar.gz" } ], "1.0.19": [ { "comment_text": "", "digests": { "md5": "b47d92b58ed09a1f21762c5879da09fe", "sha256": "b20022cddc45ffd37171fbb067fb76568a6e0d1aafdbe3e17a277c6ac8573da2" }, "downloads": -1, "filename": "django-cajax-1.0.19.tar.gz", "has_sig": false, "md5_digest": "b47d92b58ed09a1f21762c5879da09fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4779, "upload_time": "2016-02-29T01:05:21", "url": "https://files.pythonhosted.org/packages/4a/67/ba6be0f0f7856951df7b327e51dda08e0b80b4b3d1f1cefd60e530c7b3cc/django-cajax-1.0.19.tar.gz" } ], "1.0.20": [ { "comment_text": "", "digests": { "md5": "30e590b9c48715d5635d6619dfc59ad7", "sha256": "730155e2d9c6fe0460fa952987129abc0aa3830ed4c28abf4f69af4ba3d8eaf1" }, "downloads": -1, "filename": "django-cajax-1.0.20.tar.gz", "has_sig": false, "md5_digest": "30e590b9c48715d5635d6619dfc59ad7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4821, "upload_time": "2016-02-29T01:10:43", "url": "https://files.pythonhosted.org/packages/c4/e2/23cd655c11cf4343fdcf1aa3d0a4567ecbd51ee5d540115686fa6eaf48e4/django-cajax-1.0.20.tar.gz" } ], "1.0.21": [ { "comment_text": "", "digests": { "md5": "03291b38babd09e6dd6449db06037deb", "sha256": "b824fff572e04d6c694e03ed0b65342e815cddaf9fe64833080abdb4802dc9fc" }, "downloads": -1, "filename": "django-cajax-1.0.21.tar.gz", "has_sig": false, "md5_digest": "03291b38babd09e6dd6449db06037deb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4843, "upload_time": "2016-02-29T01:16:21", "url": "https://files.pythonhosted.org/packages/19/c3/fe7d81fdf57f60544bef1e8e6ea42c56eadb2b38a063a1b5de1a4d8765f5/django-cajax-1.0.21.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "03291b38babd09e6dd6449db06037deb", "sha256": "b824fff572e04d6c694e03ed0b65342e815cddaf9fe64833080abdb4802dc9fc" }, "downloads": -1, "filename": "django-cajax-1.0.21.tar.gz", "has_sig": false, "md5_digest": "03291b38babd09e6dd6449db06037deb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4843, "upload_time": "2016-02-29T01:16:21", "url": "https://files.pythonhosted.org/packages/19/c3/fe7d81fdf57f60544bef1e8e6ea42c56eadb2b38a063a1b5de1a4d8765f5/django-cajax-1.0.21.tar.gz" } ] }