{ "info": { "author": "Christian Schweinhardt", "author_email": "are.u.kidding@me.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Topic :: Software Development" ], "description": "==============\r\ndjango-statify\r\n==============\r\n\r\nBuild out a static version of your django project and deploy it using ftp, ssh \r\nor on your localhost.\r\n\r\nBut at first ... if you like this tool and the idea behind, feel free to fork \r\nit, make pull requests and write issues.\r\n\r\n\r\n===============\r\n1. Installation\r\n===============\r\n\r\n-----------------\r\n1.1. Requirements\r\n-----------------\r\n\r\n- Python 2.7 or higher\r\n- Django 1.3 or higher\r\n- django-medusa (https://github.com/christian-schweinhardt/django-medusa)\r\n- requests 1.1.0 or higher\r\n- paramiko 1.10.0 or higher\r\n- scpclient 0.4 or higher\r\n\r\n\r\n1.1.1. On Ubuntu\r\n================\r\n\r\nIf you're using Ubuntu this should work:\r\n\r\n::\r\n\r\n sudo pip install django-statify\r\n\r\n\r\nAdditionally, you need the python driver for your selected database:\r\n\r\n::\r\n\r\n sudo aptitude python-psycopg2 or sudo aptitude install python-mysql\r\n\r\nThis will your database\u2019s driver globally.\r\n\r\n\r\n1.1.2. On Mac OS X\r\n==================\r\n\r\n::\r\n\r\n sudo pip install django-statify (see above at ubuntu)\r\n\r\n\r\n-------------\r\n1.2. Database\r\n-------------\r\n\r\nI recommend using SQLite, MySQL or PostgreSQL.\r\n\r\n\r\n================\r\n2. Configuration\r\n================\r\n\r\nAdd the following app to your INSTALLED_APPS.\r\n\r\n::\r\n\r\n 'statify'\r\n\r\nNow add\r\n\r\n::\r\n\r\n url(r'^', include('statify.urls'))\r\n\r\nto your urls.py and run\r\n\r\n::\r\n\r\n python manage.py syncdb --all\r\n\r\n\r\nAt last you have to set the current host at your Sites in the Admin Interface.\r\n\r\nDefault there is an exmaple host like:\r\n\r\n::\r\n\r\n Domain name: example.com\r\n Display name: Domain\r\n\r\nthis should be something like this\r\n\r\n::\r\n\r\n Domain name: Your current host, e.g. 127.0.0.1:8000\r\n Display name: Localhost or something else\r\n\r\n\r\nThe domain name is important because of the internal url validation.\r\n\r\n\r\n----------------------\r\n2.1. Required settings\r\n----------------------\r\n\r\n\r\nSTATIFY_BUILD_SETTINGS\r\n======================\r\n\r\nThis is your settings file for the release.\r\n\r\ne.g.\r\n\r\n::\r\n\r\n '--settings=build'\r\n\r\nIt should looks like the following example:\r\n\r\n::\r\n\r\n # -*- coding: utf-8 -*-\r\n #\r\n\r\n # Project imports\r\n from conf.settings import *\r\n\r\n\r\n DEBUG = False\r\n STATIFY_ROOT_STATIC_URL = '/'\r\n\r\nDefault:\r\n\r\n::\r\n\r\n ''\r\n\r\n\r\nSTATIFY_USE_CMS\r\n===============\r\n\r\nIF you are using django-cms you have to set this True:\r\n\r\n::\r\n\r\n STATIFY_USE_CMS = True\r\n\r\nNow your CMS sites will be automatically saved in internal urls.\r\n\r\n\r\nSTATIFY_PROJECT_DIR\r\n===================\r\n\r\nThe project dir should be the absolute path to your django project, where your \r\nmanage.py is stored.\r\n\r\nDefault:\r\n\r\n::\r\n\r\n os.path.join(os.path.dirname(os.path.abspath(__file__)), '../')`\r\n\r\n\r\nSTATIFY_UPLOAD_PATH\r\n===================\r\n\r\nThe upload path is relative to the MEDIA_ROOT. There will be stored all release \r\narchives. This should be always an absolute path.\r\n\r\nDefault:\r\n\r\n::\r\n\r\n os.path.join(u'statify/releases/')\r\n\r\n\r\nSTATIFY_EXCLUDED_MEDIA\r\n======================\r\n\r\nThe listed folders will be ignored on release statics.\r\nOptional I recommend to use django-pipeline for your assets like css, \r\njavascript and images.\r\n\r\nDefault:\r\n\r\n::\r\n\r\n [u'admin', u'statify', u'tmp', u'root']\r\n\r\n\r\nSTATIFY_ROOT_STATIC\r\n===================\r\n\r\nIf you need some root files like robots.txt or crossdomain.xml you are able to \r\nstore these files in this path. On release these files will be moved to the root \r\nof the final htdocs.\r\n\r\nDefault:\r\n\r\n::\r\n\r\n os.path.join(settings.MEDIA_ROOT, 'root')\r\n\r\n\r\nSTATIFY_ROOT_STATIC_URL\r\n=======================\r\n\r\nThis setting is important for development. It should be overwritten \r\nin your build settings to `'/'`.\r\n\r\nDefault:\r\n\r\n::\r\n\r\n settings.STATIC_URL + 'root/'\r\n\r\n\r\n========\r\n3. Using\r\n========\r\n\r\n\r\n---------\r\n3.1. URLs\r\n---------\r\n\r\n\r\n3.1.1. Register internal urls\r\n=============================\r\n\r\nYou can register internal url's using the django admin backend.\r\n\r\nAlternative you can register urls automatically by adding one of the below \r\nmethods to your model classes.\r\n\r\nThe following example is for an single URL:\r\n\r\n::\r\n\r\n def statify_url(self):\r\n return u'/%s/' % self.url_field\r\n\r\n\r\nor you can register more then one URL for a Model with the following example:\r\n\r\n::\r\n\r\n def statify_urls(self):\r\n url_list = list()\r\n url_list.append('/%s/' % self.locale)\r\n\r\n return url_list\r\n\r\n\r\nThe backend will validate the url on save. Only valid urls will be rendered.\r\nThis is important because only valid urls will be rendered on release.\r\n\r\n\r\n3.1.2. Register external urls\r\n=============================\r\n\r\nIf you need some external content rendered to your site, you are able to \r\nregister external urls. Use the target path to point the rendered file in \r\nyour final htdocs folder.\r\n\r\n\r\n------------\r\n3.2. Release\r\n------------\r\n\r\n3.2.1. Create new release\r\n=========================\r\n\r\nUsing the django admin interface you can create new releases by clicking the \r\nbutton \"Create new release\" at the release overview.\r\nAfter clicking you will see a loader. After the release is done the current \r\npage will reload automatically.\r\n\r\n\r\n---------------\r\n3.3. Deployment\r\n---------------\r\n\r\n3.3.1. Manage deployment hosts\r\n==============================\r\n\r\nTODO\r\n\r\n\r\n3.3.2. Run deployment\r\n=====================\r\n\r\nThere are two ways to deploy an release. First you have to click at the release \r\noverview on \"Deploy this release\". Afterwards you have to select an \r\ndeployment host and click on \"Run deployment\".\r\n\r\nAlternative you can navigate to the detail view of an release and do the same \r\nlike below by clicking on \"Run deployment\".\r\n\r\n\r\n==========\r\n4. Roadmap\r\n==========\r\n\r\n-----------\r\nVersion 1.0\r\n-----------\r\n\r\n- Execute releases and deployments using django management commands\r\n- Integrate logging for releases and deployments\r\n- Extend deployment hosts to some cloud services (S3, etc.)\r\n- django CMS support\r\n\r\n\r\n============\r\n5. Changelog\r\n============\r\n\r\n-------------\r\nVersion 0.2.0\r\n-------------\r\n\r\n- Added django-cms support (in BETA)\r\n- Some locale fixes\r\n- Some bugfixes\r\n- Updated README.md\r\n\r\n\r\n-------------\r\nVersion 0.1.9\r\n-------------\r\n\r\n- Updated README.md\r\n- Some locale fixes\r\n- Some bugfixes\r\n\r\n\r\n-------------\r\nVersion 0.1.8\r\n-------------\r\n\r\n- Updated README.md\r\n- Some bugfixes\r\n\r\n\r\n-------------\r\nVersion 0.1.7\r\n-------------\r\n\r\n- Updated README.md\r\n\r\n\r\n-------------\r\nVersion 0.1.6\r\n-------------\r\n\r\n- Added german locale\r\n- Updated README.md\r\n- Some bugfixes\r\n\r\n\r\n-------------\r\nVersion 0.1.5\r\n-------------\r\n\r\n- Added API / Method to register urls from Models\r\n- Updated README.md\r\n- Some bugfixes\r\n\r\n\r\n-------------\r\nVersion 0.1.4\r\n-------------\r\n\r\n- Updated README.md\r\n- Some bugfixes\r\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/christian-schweinhardt/django-statify.git", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/christian-schweinhardt/django-statify", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-statify", "package_url": "https://pypi.org/project/django-statify/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-statify/", "project_urls": { "Download": "https://github.com/christian-schweinhardt/django-statify.git", "Homepage": "https://github.com/christian-schweinhardt/django-statify" }, "release_url": "https://pypi.org/project/django-statify/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "Build out a static version of your website.", "version": "0.2.0" }, "last_serial": 790767, "releases": { "0.1.3": [ { "comment_text": "", "digests": { "md5": "23979f28fd3fedfd4a3743d64f946109", "sha256": "82f8bd28a366fe3ea71145230a19a9b894c69d29b599100bbd961b3b69b4a769" }, "downloads": -1, "filename": "django-statify-0.1.3.tar.gz", "has_sig": false, "md5_digest": "23979f28fd3fedfd4a3743d64f946109", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14806, "upload_time": "2013-04-17T15:30:03", "url": "https://files.pythonhosted.org/packages/1f/53/4f00fd29b7733f310729176fdb5203273caff73958a2bf0985d9d0475d7e/django-statify-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "a8d862df481a7e5d3431800a45ebaeb3", "sha256": "b84bd73d87479a3597bfae920993e5127a1972dfb1b4253ff03dd97c77e15964" }, "downloads": -1, "filename": "django-statify-0.1.4.tar.gz", "has_sig": false, "md5_digest": "a8d862df481a7e5d3431800a45ebaeb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14488, "upload_time": "2013-04-18T07:54:20", "url": "https://files.pythonhosted.org/packages/0f/4a/35ec9c02baab5e805d315111eec5f2f536de1b1586218c47b08c8976d33f/django-statify-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "16b17a221f400b83d9403f423e86f57b", "sha256": "c69bbb74438e7e9da6c4f9884345388005d1bbb2299d4f0af1a6baf8fa345144" }, "downloads": -1, "filename": "django-statify-0.1.5.tar.gz", "has_sig": false, "md5_digest": "16b17a221f400b83d9403f423e86f57b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15007, "upload_time": "2013-04-18T12:35:42", "url": "https://files.pythonhosted.org/packages/a6/e5/bdc3e5f794c58ab848ed3bfd940dcac6ea5fdfba9598936e917596a4e59e/django-statify-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "a024c4c6ebebc1dd3104a5ce8f084e83", "sha256": "0b25d0cfaad730e5d9fa3a17f8093b37fae4a9bca1f99f12729fe9f00cb4912d" }, "downloads": -1, "filename": "django-statify-0.1.6.tar.gz", "has_sig": false, "md5_digest": "a024c4c6ebebc1dd3104a5ce8f084e83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18666, "upload_time": "2013-04-19T12:53:23", "url": "https://files.pythonhosted.org/packages/1c/67/ee14e14e108c48d4312fa6d6da590ab586f08a88395930ebb12958a5e0ae/django-statify-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "89351314f62f54cb38d21590b48b6b26", "sha256": "dfc872607e4be64a48554aacc93b7ac14d8163e6f3aed06cae6723b18d65f27f" }, "downloads": -1, "filename": "django-statify-0.1.7.tar.gz", "has_sig": false, "md5_digest": "89351314f62f54cb38d21590b48b6b26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18896, "upload_time": "2013-04-19T15:12:26", "url": "https://files.pythonhosted.org/packages/aa/0a/a9348b65c9c31ec4e0e8d0f5f91a23b20a21371a37af34c78e1b8ba82aea/django-statify-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "7aeb120789a57b19202723777e1797b5", "sha256": "960037ed80df178e194c6d3137249b4cb7759332e4c767b7e387caeece5502dd" }, "downloads": -1, "filename": "django-statify-0.1.8.tar.gz", "has_sig": false, "md5_digest": "7aeb120789a57b19202723777e1797b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18858, "upload_time": "2013-04-19T20:45:12", "url": "https://files.pythonhosted.org/packages/ce/e3/0249b5e95149b97ed503994a8156d921177c6979facc2475bd960cd91f3d/django-statify-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "d5fb509b0a41a675684c37d7e3ae9ec7", "sha256": "68606df237f2aa61173ef76fc4c246ca0731265d1d4903b3f0596d88ad8d8300" }, "downloads": -1, "filename": "django-statify-0.1.9.tar.gz", "has_sig": false, "md5_digest": "d5fb509b0a41a675684c37d7e3ae9ec7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19064, "upload_time": "2013-04-22T15:31:48", "url": "https://files.pythonhosted.org/packages/71/e2/7a46f43ef6a3817453d61fe87cedc389e11bc94a3ab6325cc270ac3342b1/django-statify-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "0c02c232caedf17aaa5081726bb8aa12", "sha256": "498eadf51235cf383046f1d5c6553dec24e8009dfd61889fdd24286aaf37dc7b" }, "downloads": -1, "filename": "django-statify-0.2.0.tar.gz", "has_sig": false, "md5_digest": "0c02c232caedf17aaa5081726bb8aa12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25224, "upload_time": "2013-04-24T11:30:00", "url": "https://files.pythonhosted.org/packages/28/c1/16fa530934e8116ff54d20d215e5603fec42885b5f97c6b081ad0dc6af2f/django-statify-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0c02c232caedf17aaa5081726bb8aa12", "sha256": "498eadf51235cf383046f1d5c6553dec24e8009dfd61889fdd24286aaf37dc7b" }, "downloads": -1, "filename": "django-statify-0.2.0.tar.gz", "has_sig": false, "md5_digest": "0c02c232caedf17aaa5081726bb8aa12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25224, "upload_time": "2013-04-24T11:30:00", "url": "https://files.pythonhosted.org/packages/28/c1/16fa530934e8116ff54d20d215e5603fec42885b5f97c6b081ad0dc6af2f/django-statify-0.2.0.tar.gz" } ] }