{ "info": { "author": "WhiteMasteR", "author_email": "whthaker@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Utilities" ], "description": "Django Traversal 0.4\n====================\n\nDjango Trversal - \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043e-\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0438 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439\n\n\u0420\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043f\u0430\u0442\u0442\u0435\u0440\u043d MVRT (Model View Resource Template) \u0433\u0434\u0435 \u0437\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 Model, \u0437\u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c View, \u0437\u0430 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f - Template, \u0430 \u0437\u0430 \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0443 Resource.\n\n\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f django-traversal:\n\n* \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439, \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043c\u0430 \u0440\u0430\u0437\u0440\u043e\u0441\u0442\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439;\n* \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043b\u0435\u0433\u043a\u043e \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0435\u0441\u0443\u0440\u0441 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043e \u0441\u0432\u043e\u0435\u0439 \u043c\u043e\u0434\u0435\u043b\u044c\u044e \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u0430\u043a-\u0447\u0442\u043e \u0442\u0430\u043a\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e;\n* \u0418\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u0435\u0437 \u0442\u0440\u0443\u0434\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c Access Control List \u0438\u043b\u0438 ACL \u2014 \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043a\u0442\u043e \u0438\u043b\u0438 \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0443, \u0438 \u043a\u0430\u043a\u0438\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043e \u0438\u043b\u0438 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e \u044d\u0442\u043e\u043c\u0443 \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0443 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u043d\u0430\u0434 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c.\n* \u041f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e-\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0445 \u0443\u0440\u043b (\u0427\u041f\u0423)\n\nRequirements\n------------\n\n* Python 2.6+\n* Django 1.4.5+\n\n\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n---------\n\n pip install django-traversal\n\n\n\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\n---------\n\n1. \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 traversal \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439:\n\n INSTALLED_APPS = (\n 'traversal',\n ***\n )\n\n\n2. \u0412 \u0444\u0430\u0439\u043b\u0435 resources.py, \u0432 \u0432\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u0440\u0435\u0441\u0443\u0440\u0441 - \u043a\u043b\u0430\u0441\u0441, \u043f\u043e\u0442\u043e\u043c\u043e\u043a traversal.resource.Resource, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0435\u043c\u0443 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 @resource_register(). \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u0443\u0442\u044c \u043a \u0432\u0430\u0448\u0435\u043c\u0443 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u043c\u0443 \u0440\u0435\u0441\u0443\u0440\u0441\u0443:\n\n ROOT = 'your_app.resources.RootRecource'\n\n\n3. \u0412 \u0444\u0430\u0439\u043b\u0430\u0445 views.py \u0432\u0430\u0448\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0431\u0440\u0438\u043a\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043f\u0443\u0442\u0435\u0439 - \u043a\u043b\u0430\u0441\u0441, \u043f\u043e\u0442\u043e\u043c\u043e\u043a traversal.traverse.TraverseFactory, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u0435 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0435 app_resource_tree:\n\n app_resource_tree = {\n 'RootResource': {\"\": index_view},\n 'PostDetailResource': {\"\": some_view,\n \"view_slug_in_url\": another_view},\n }\n \n\n4. \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0443\u0442\u0435\u0439 \u043a \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0432\u0430\u0448\u0438\u0445 \u0444\u0430\u0431\u0440\u0438\u043a \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043f\u0443\u0442\u0435\u0439:\n\n TRAVERSE_FACTORIES = (\n 'your_app.views.YourFactory',\n )\n\n5. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c traversal \u043a \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u043c\u0443 \u0440\u043e\u0443\u0442\u0435\u0440\u0443 \u0432 urls.py, \u043f\u043e\u0441\u043b\u0435 \u0432\u0441\u0435\u0445 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439:\n\n urlpatterns += [url(r'^', include('traversal.urls'), name='router')]\n\n\n\u041d\u0430 \u044d\u0442\u043e\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \n\n\u041f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 DjangoTraversal:\nhttps://bitbucket.org/whitemaster/django-traversal-blogs", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "django-traversal", "package_url": "https://pypi.org/project/django-traversal/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-traversal/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/django-traversal/0.4.1/", "requires_dist": null, "requires_python": null, "summary": "UNKNOWN", "version": "0.4.1" }, "last_serial": 2736369, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "f9a02fe3fd987d704f3fd9eed9ff3926", "sha256": "3998322145aebaef6ce333e8f8fb6f63cc2500801fd171f9fcde94b158d1d11c" }, "downloads": -1, "filename": "django-traversal-0.1.tar.gz", "has_sig": false, "md5_digest": "f9a02fe3fd987d704f3fd9eed9ff3926", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9646, "upload_time": "2015-04-17T15:33:39", "url": "https://files.pythonhosted.org/packages/1d/e2/b54726ebef7a69bae14d7ca69c381fed1ba6079f6c98c7bc010efcd238b0/django-traversal-0.1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "a41aadc95504068c24576f00c079ce4a", "sha256": "48e09984a9a1fdd9fd52835b7057a23118fb72dd7ec6a377fa3d9a30feebd630" }, "downloads": -1, "filename": "django-traversal-0.3.tar.gz", "has_sig": false, "md5_digest": "a41aadc95504068c24576f00c079ce4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20284, "upload_time": "2016-10-03T15:16:44", "url": "https://files.pythonhosted.org/packages/db/e2/1c055e1c2197e6a1939b94406559e718b95dd61fd3274667a141db7f581c/django-traversal-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "e170fd6c34b92fc48c86a0899c18e203", "sha256": "ec5a07344ee2082c90cc68aa3c0392dd49e5e809fe6a05e1cbdc0c3ba8e139e2" }, "downloads": -1, "filename": "django-traversal-0.3.1.tar.gz", "has_sig": false, "md5_digest": "e170fd6c34b92fc48c86a0899c18e203", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20295, "upload_time": "2016-10-03T19:31:15", "url": "https://files.pythonhosted.org/packages/44/14/54a63469f85c8677bed53f977f4049bef9383a50cc39c148ad8bb6ce0179/django-traversal-0.3.1.tar.gz" } ], "0.3.1.1": [ { "comment_text": "", "digests": { "md5": "1c1ff89beb5d5410565e2042f7d7623f", "sha256": "7ad4ef09f72cbf871e08e3b277b7b89c85706cefe71130ccc63118cc75853df0" }, "downloads": -1, "filename": "django-traversal-0.3.1.1.tar.gz", "has_sig": false, "md5_digest": "1c1ff89beb5d5410565e2042f7d7623f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20288, "upload_time": "2016-10-03T19:39:08", "url": "https://files.pythonhosted.org/packages/85/85/2fab73635ea480cdb1e0a0af01cf0ec44196e18a8afe4f64d560f0e00839/django-traversal-0.3.1.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "26797f1d3a4215e8d2add263f5cf806d", "sha256": "197378db9fc7c78e39b49c3211be1dfc5e619230aa0b7afc96ef528137ab5392" }, "downloads": -1, "filename": "django-traversal-0.3.2.tar.gz", "has_sig": false, "md5_digest": "26797f1d3a4215e8d2add263f5cf806d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20286, "upload_time": "2016-10-03T19:42:13", "url": "https://files.pythonhosted.org/packages/df/7d/696199621388074f32bc6c8ee00807e518ba465205dc3083d916d1a3cd64/django-traversal-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "46f000878e35c79c81ca4111a7e29f6c", "sha256": "c26af33d96ba0330659467c1339e25b6280af5657b7bc9ba724927554c46d0c7" }, "downloads": -1, "filename": "django-traversal-0.3.3.tar.gz", "has_sig": false, "md5_digest": "46f000878e35c79c81ca4111a7e29f6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20264, "upload_time": "2016-10-03T19:51:43", "url": "https://files.pythonhosted.org/packages/81/b2/c4bea26fa49bffae552e0407fe0c4ed53184e94b67b6618d59804a7e0033/django-traversal-0.3.3.tar.gz" } ], "0.4": [], "0.4.1": [] }, "urls": [] }