{ "info": { "author": "Paul Olsen", "author_email": "paul@wholeshoot.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Database :: Database Engines/Servers" ], "description": "================\nmongo_datatables\n================\nA script for using the jQuery plug-in DataTables server-side processing (and DataTables Editor) with MongoDB.\n\nWorks with Flask and Django. Supports column sorting and filtering by multiple search terms and/or column specific\nsearches like column:keyword.\n\nSee an example of Django and mongo-datatables on `GitHub`_.\n\n.. _GitHub: https://github.com/pauljolsen/django-and-mongo-datatables\n\nSee below for examples using Flask.\n\n|Downloads|\n\n.. |Downloads| image:: http://pepy.tech/badge/mongo-datatables\n :target: http://pepy.tech/project/mongo-datatables\n\n----\n\n\nInstall\n=======\nYou can install with pip::\n\n pip install mongo-datatables\n\n..\n\nBasic Usage (Flask)\n===================\n\nIn your ``views.py``::\n\n import json\n from flask import request, render_template\n from mongo_datatables import DataTables\n from app import mongo\n from . import main\n\n\n @main.route('/table-view')\n def table_view():\n return render_template('main/table_view.html')\n\n\n @main.route('/mongo/')\n def api_db(collection):\n request_args = json.loads(request.values.get(\"args\"))\n results = DataTables(mongo, collection, request_args).get_rows()\n return json.dumps(results)\n\n\n..\n\nIn your ``table_view.html``::\n\n {% extends \"base.html\" %}\n\n\n {% block content %}\n {{ super() }}\n\n
\n\n

\n Contracts\n

\n\n \n \n \n \n \n \n \n \n \n
ExpiryDateContractIdVendorNote
\n\n\n
\n {% endblock %}\n\n {% block scripts %}\n {{ super() }} // DataTables, jQuery, Bootstrap loaded here\n\n \n\n {% endblock %}\n\n..\n\nAdvanced Usage, With A Custom Filter (Flask)\n============================================\n\nIn your ``views.py``::\n\n import json\n from datetime import datetime, timedelta\n from mongo_datatables import Editor, DataTables\n from flask import request\n from app import mongo\n from . import main\n\n\n @main.route('/support-expiry', methods=['GET'])\n def support_expiry():\n \"\"\"This examples receives a 'daysToExpiry' value and translates it to an Expiration Date, which can be looked\n up in the Mongo collection.\n \"\"\"\n\n request_args = json.loads(request.values.get(\"args\"))\n custom_filter = {}\n\n # translate daysToExpiry into a filter for the ExpiryDate Mongo key\n if 'daysToExpiry' in request_args['qString']:\n days_to_expiry = request_args['qString'].pop('daysToExpiry', None) # remove daysToExpiry, leave the rest\n t = datetime.utcnow()\n ts = t.strftime(\"%Y-%m-%d\")\n if days_to_expiry == 'Expired':\n custom_filter.update({\n 'ExpiryDate': {'$lt': ts, '$ne': ''} # ExpiryDate is before today but not equal to ''\n })\n else:\n d = t + timedelta(days=int(days_to_expiry))\n ds = d.strftime(\"%Y-%m-%d\")\n custom_filter.update({\n 'ExpiryDate': {'$gt': ts, '$lt': ds} # ExpiryDate is between now and daysToExpiry from now\n })\n\n # add the rest of the query string to the custom filter\n custom_filter.update(request_args['qString'])\n\n collection = 'HardwareInventory'\n results = DataTables(mongo, collection, request_args, **custom_filter).get_rows()\n return json.dumps(results)\n\n..\n\n\nDataTables Editor Usage (Flask)\n===============================\n\nIn your ``views.py``::\n\n import json\n from flask import request\n from mongo_datatables import DataTables, Editor\n from . import main\n from app import mongo\n\n # include the table_view and api_db views from above\n\n @main.route('/mongo/edit//', methods=['POST'])\n def api_editor(collection, doc_id):\n request_args = json.loads(request.values.get(\"args\"))\n results = Editor(mongo, collection, request_args, doc_id).update_rows()\n return json.dumps(results)\n\n..\n\nIn your ``table-view.html``::\n\n {% extends \"base.html\" %}\n\n\n {% block content %}\n {{ super() }}\n\n
\n\n \n \n \n \n \n \n \n \n \n
ExpiryDateContractIdVendorNote
\n\n\n
\n {% endblock %}\n\n {% block scripts %}\n {{ super() }} // DataTables, Editor, jQuery, Bootstrap, Buttons loaded here\n\n \n\n {% endblock %}", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pauljolsen/mongo-datatables", "keywords": "flask django pymongo mongodb", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "mongo-datatables", "package_url": "https://pypi.org/project/mongo-datatables/", "platform": "", "project_url": "https://pypi.org/project/mongo-datatables/", "project_urls": { "Homepage": "https://github.com/pauljolsen/mongo-datatables" }, "release_url": "https://pypi.org/project/mongo-datatables/0.3.0/", "requires_dist": null, "requires_python": "", "summary": "Classes for connecting DataTables and Editor to MongoDB", "version": "0.3.0" }, "last_serial": 5547006, "releases": { "0.1.4": [ { "comment_text": "", "digests": { "md5": "b5c904470cafd1ff54a9c094c3333315", "sha256": "3a6a371fb17432f3368424b8a504936e2e2bd6a270aee6115fd73129ba7ff864" }, "downloads": -1, "filename": "mongo_datatables-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "b5c904470cafd1ff54a9c094c3333315", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9384, "upload_time": "2017-09-14T13:47:23", "url": "https://files.pythonhosted.org/packages/0d/34/11c9ea033f40e41fab54828ca04b23ee6acd37be66ca35fe7d0a655c0938/mongo_datatables-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bcbeb689cf0ede5e66d59d8d2b78e932", "sha256": "b60ae3068533af3bd572dbecc64e8ca9a955354c89f2d005c13bf6ed64fcb7f6" }, "downloads": -1, "filename": "mongo_datatables-0.1.4.zip", "has_sig": false, "md5_digest": "bcbeb689cf0ede5e66d59d8d2b78e932", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12694, "upload_time": "2017-09-14T13:47:00", "url": "https://files.pythonhosted.org/packages/71/7f/cc507cbeeeb61832659a64f27acf541cdc6cdf99f7bcc5fc3b8bf1fa768a/mongo_datatables-0.1.4.zip" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d8dae9468863bb60e6dddde5a13decd6", "sha256": "212d8663b244843589cb7c6ba3413904155d20622b9c91dc25c61b1523541a10" }, "downloads": -1, "filename": "mongo_datatables-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d8dae9468863bb60e6dddde5a13decd6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9434, "upload_time": "2017-09-17T16:07:20", "url": "https://files.pythonhosted.org/packages/26/b6/febc34c60468e482c196f0f2163cdb86f00253591d37e3766571297e3dcc/mongo_datatables-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f1901a1bc8b64143f68d5f325807d584", "sha256": "6fa2f474ffa5f48927b28f1aad8b05b769a8d530e6a698767b5b599f2ea81aa7" }, "downloads": -1, "filename": "mongo_datatables-0.2.0.zip", "has_sig": false, "md5_digest": "f1901a1bc8b64143f68d5f325807d584", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12750, "upload_time": "2017-09-17T16:07:21", "url": "https://files.pythonhosted.org/packages/fe/92/2786213c637e98eb3234698f1970536567ed0b990205beea7cb270d6e974/mongo_datatables-0.2.0.zip" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "567f763159018267436ae73104fb718c", "sha256": "25812630b5bfb9215de0fe46960b9b457b224243ecf3d19a4d6f2ba3098016cf" }, "downloads": -1, "filename": "mongo_datatables-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "567f763159018267436ae73104fb718c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9445, "upload_time": "2017-09-18T03:02:15", "url": "https://files.pythonhosted.org/packages/a4/c4/4715ab77e7d51d30c58c3c2fdcf9d9959dd8aaa6b9b2942cbe4388446f2a/mongo_datatables-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04d9adc0b1ab19eeac5e739a33585d23", "sha256": "86e35ce7a286bfc2c2e9624dd56910fd46b5c21937213daefaba90f3ce29dbf1" }, "downloads": -1, "filename": "mongo_datatables-0.2.1.zip", "has_sig": false, "md5_digest": "04d9adc0b1ab19eeac5e739a33585d23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12751, "upload_time": "2017-09-18T03:02:16", "url": "https://files.pythonhosted.org/packages/3a/74/74bff382a7edb2bf48bb591335c4eecb48709294113ffba4d2bd87e66de5/mongo_datatables-0.2.1.zip" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "54c906eaf607d8c05c94e6238dd46285", "sha256": "fd68213517a32bde75264564cabe8443912070a26cd6fb274f5448f101ad54b3" }, "downloads": -1, "filename": "mongo_datatables-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "54c906eaf607d8c05c94e6238dd46285", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9440, "upload_time": "2017-09-19T03:42:33", "url": "https://files.pythonhosted.org/packages/c2/cd/6fe010dfe743d7875822e31758ec75ddb127369715a06633218f56f3145a/mongo_datatables-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "05eef33e72f0a2b844c059100b03c6c2", "sha256": "abf9b2d597616af7609fbbfe032710f8fd9b5f0569c1a036b0c4e7c96e5a994a" }, "downloads": -1, "filename": "mongo_datatables-0.2.2.zip", "has_sig": false, "md5_digest": "05eef33e72f0a2b844c059100b03c6c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12749, "upload_time": "2017-09-19T03:42:35", "url": "https://files.pythonhosted.org/packages/5c/b4/ff2200f437838b1e5ee37ec88151f693698581b3fd8297f8aa35e0bb7015/mongo_datatables-0.2.2.zip" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "1a4a5f564698226605a24dad7931e0d4", "sha256": "aa21cd1a0ac6b0fd078dcd1a3836df556c962177142453853507b1998702ec92" }, "downloads": -1, "filename": "mongo_datatables-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1a4a5f564698226605a24dad7931e0d4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9539, "upload_time": "2017-09-23T20:52:44", "url": "https://files.pythonhosted.org/packages/e2/0f/c48ea3867f4087575283ffebf56be4b0260204836de65d7b83e1b10e8696/mongo_datatables-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7338c28ba7e972592bf41c6a4e61a55b", "sha256": "0af7eda0390fa2346424a6da063648c10a701afb232a6002ba534760f92eb4d3" }, "downloads": -1, "filename": "mongo_datatables-0.2.3.zip", "has_sig": false, "md5_digest": "7338c28ba7e972592bf41c6a4e61a55b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12847, "upload_time": "2017-09-23T20:52:46", "url": "https://files.pythonhosted.org/packages/be/b0/da7068b437cee91c3ba9b3fb93a0b0883fd8c34af26beaae7e70770c533a/mongo_datatables-0.2.3.zip" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "da88ea01c17a4ca0a45c8cae5e909a69", "sha256": "cb2e23429419151f057a1d29e83cf1e42418aea436ec482af1c1ae21363f60dc" }, "downloads": -1, "filename": "mongo_datatables-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "da88ea01c17a4ca0a45c8cae5e909a69", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9546, "upload_time": "2017-09-24T01:25:34", "url": "https://files.pythonhosted.org/packages/6c/a4/66b8c106a0402a7e8855dd4ae6bfec3e58eba59e2ab95c2c4ed7744b8208/mongo_datatables-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b3bd1801e6a12ac4f44969f2de7877a", "sha256": "4284de6714af72bf5821acae1d8f922b3b125063d2df8b9b242bdb635c9b8547" }, "downloads": -1, "filename": "mongo_datatables-0.2.4.zip", "has_sig": false, "md5_digest": "1b3bd1801e6a12ac4f44969f2de7877a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12852, "upload_time": "2017-09-24T01:25:36", "url": "https://files.pythonhosted.org/packages/07/36/4ff00dbde7379a138047439fc15ebfc106dc16e7d8cdfd3feb9f7abf35a3/mongo_datatables-0.2.4.zip" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "a0322595f68db92495ee42574c3ffb73", "sha256": "a1e53fc1632c87a43164edb63e3aa5211626daa6b4ce4a84552e8f49956e66a1" }, "downloads": -1, "filename": "mongo_datatables-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "a0322595f68db92495ee42574c3ffb73", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9550, "upload_time": "2017-09-26T13:17:59", "url": "https://files.pythonhosted.org/packages/8e/9a/64cb60c850a8769d07cc42de46874a2e590dcdde437880b7f5a3cd99f5f3/mongo_datatables-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e92458500413a0a5df6cba91f2ad7a5f", "sha256": "2c134aaa6bf83e8feef9035ab9c70bb130efea0e7883b649f0183e0bbe1c774b" }, "downloads": -1, "filename": "mongo_datatables-0.2.5.zip", "has_sig": false, "md5_digest": "e92458500413a0a5df6cba91f2ad7a5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12858, "upload_time": "2017-09-26T13:18:00", "url": "https://files.pythonhosted.org/packages/e5/3d/e01dbee523c85837aec5eac8d4c3a4a8a07cbab9832e8c67db185ef2ad44/mongo_datatables-0.2.5.zip" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "9b6646f58b7240d228521765d35eb606", "sha256": "54d5babc2a20419f3a1404064e2edbfd417a03d98732751301b6aa457a0d1f57" }, "downloads": -1, "filename": "mongo_datatables-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "9b6646f58b7240d228521765d35eb606", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6707, "upload_time": "2018-08-23T15:21:07", "url": "https://files.pythonhosted.org/packages/04/c2/4f5815a93bda60452137fbc35878f1401629fbffa1386137c7f7864d9807/mongo_datatables-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9da0aeb2d5d9b523ed079aa77cd4b329", "sha256": "5e0122f28dfafcf96d5bc79b5241b1e6d7b1a86eb47d559a645deb3aa28ace14" }, "downloads": -1, "filename": "mongo_datatables-0.2.6.tar.gz", "has_sig": false, "md5_digest": "9da0aeb2d5d9b523ed079aa77cd4b329", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6607, "upload_time": "2018-08-23T15:21:09", "url": "https://files.pythonhosted.org/packages/4c/17/4859a1394ade3115d100dcb426584bf3d04b5558e439015ee23a71a99e7e/mongo_datatables-0.2.6.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "add471edf0ec86c156258f2528d355ea", "sha256": "3e1aeda6516b05e11e7769bda7f9ff6a8b1e9c1a69eef3e243a9a1ecf245ec46" }, "downloads": -1, "filename": "mongo_datatables-0.3.0.tar.gz", "has_sig": false, "md5_digest": "add471edf0ec86c156258f2528d355ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7008, "upload_time": "2019-07-17T17:50:51", "url": "https://files.pythonhosted.org/packages/e6/a6/47090f8e594bae50588f09320929312e900a76c6d14de29a15c589225187/mongo_datatables-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "add471edf0ec86c156258f2528d355ea", "sha256": "3e1aeda6516b05e11e7769bda7f9ff6a8b1e9c1a69eef3e243a9a1ecf245ec46" }, "downloads": -1, "filename": "mongo_datatables-0.3.0.tar.gz", "has_sig": false, "md5_digest": "add471edf0ec86c156258f2528d355ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7008, "upload_time": "2019-07-17T17:50:51", "url": "https://files.pythonhosted.org/packages/e6/a6/47090f8e594bae50588f09320929312e900a76c6d14de29a15c589225187/mongo_datatables-0.3.0.tar.gz" } ] }