{ "info": { "author": "Jay McEntire", "author_email": "jay.mcentire@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. django-bft - A Big File Transfer App Written in Django documentation master file, created by\r\n sphinx-quickstart on Thu Apr 14 11:03:55 2011.\r\n You can adapt this file completely to your liking, but it should at least\r\n contain the root `toctree` directive.\r\n\r\nWelcome to django-bft - documentation\r\n=====================================\r\n\r\nIntroduction\r\n------------\r\n\r\n**django-bft** is a Django application that handles large file transfers. The\r\napplication's frontend has both a flash upload as well as a javascript \r\nupload version.\r\n\r\n**django-bft** was origianlly created for Utah State University \r\nto fulfill a specific need of sending large files through email.\r\n\r\nThe site can be viewed at https://bft.usu.edu\r\n\r\nRequirements\r\n------------\r\n\r\n1.\t**Web server**\r\n\r\n\t**Apache** using **mod-wsgi** is the prefered web server of choice and, currently,\r\n\tis the only web server that has been tested with django-bft. Web servers such as\r\n\tLighttp and Nginx may work, but have not been tested.\r\n\t\r\n\t**Note:** django-bft uses ajax to display a progress bar during upload.\r\n\tAs such, the Django development web server will not be able to upload files\r\n\tsince it is only single threaded.\r\n\t\r\n2.\t**Database**\r\n\r\n\tAll databases supported by Django should work with django-bft.\r\n\t(Postgres, MySQL, and Oracle)\r\n\t\r\n3.\t**Django**\r\n\r\n\tdjango-bft has been created using the latest version of Django (1.3).\r\n\tDjango 1.1x or later will probably work, but with the change in how **static**\r\n\tfiles are handled, you are advised to install django-staticfiles for static file serving.\r\n\t\r\n\tRefer to: https://github.com/jezdez/django-staticfiles\r\n\t\r\n\r\nInstallation\r\n------------\r\n\r\nTo get this application up and running, please follow the steps below:\r\n\r\n1.\tCreate a Django production environment using the setup of your choice.\r\n\tRefer to: http://docs.djangoproject.com/en/dev/intro/install/\r\n\r\n2.\tCreate a new Django Project::\r\n\r\n\t\t$ django-admin.py startproject \r\n\r\n3.\tInstall django-bft to either your PYTHON_PATH or in a folder inside your project:\r\n\r\n\t*\tInstall from pip::\r\n\t\r\n\t\t$ pip install django-bft\r\n\t\t\r\n\t*\t`Download`__ and install from source::\t\t\r\n\r\n\t\t$ python setup.py install\r\n\t\t\r\n\t*\tInstall source to local directory::\r\n\t\r\n\t\t$ python setup.py build\r\n\t\t$ cp build/lib/bft //\r\n\t\t\r\n4.\tAdd the following to your **settings.py** file:\r\n\r\n\t*\tAdd 'bft', 'staticfiles' and 'admin' to INSTALLED_APPS::\r\n\t\r\n\t\t\tINSTALLED_APPS = (\r\n\t\t\t\t...\r\n\t\t\t\t'django.contrib.admin',\r\n\t\t\t\t'django.contrib.staticfiles',\r\n\t\t\t\t'bft',\r\n\t\t\t)\r\n\t\t\t\r\n\t*\tMake sure your static file finders are configured::\r\n\t\r\n\t\t\tSTATICFILES_FINDERS = (\r\n\t\t\t 'django.contrib.staticfiles.finders.AppDirectoriesFinder',\r\n\t\t\t)\r\n\t\t\t\r\n\t*\tAdd 'bft.context_processors.bft' to the context processors::\r\n\t\r\n\t\t\tfrom django.conf import global_settings\r\n\t\t\t...\r\n\t\r\n\t\t\tTEMPLATE_CONTEXT_PROCESSORS = (\r\n\t\t\t 'bft.context_processors.bft',\r\n\t\t\t) + global_settings.TEMPLATE_CONTEXT_PROCESSORS\r\n\t\t\t\r\n\t*\tAdd 'bft.utils.upload_handlers.UploadProgressCachedHandler' to the file\r\n\t\tupload handlers::\r\n\t\r\n\t\t\tfrom django.conf import global_settings\r\n\t\t\t...\r\n\t\t\t\r\n\t\t\tFILE_UPLOAD_HANDLERS = (\r\n\t\t\t 'bft.utils.upload_handlers.UploadProgressCachedHandler',\r\n\t\t\t) + global_settings.FILE_UPLOAD_HANDLERS\r\n\t\t\t\r\n\t*\t(Optional) - You might want to change the location of the\r\n\t\tFILE_UPLOAD_TEMP_DIR. This setting is the location of where files\r\n\t\twill be temporarily be stored while uploading. The default for this is \r\n\t\tthe operating systems temp directory. If space is limited at this \r\n\t\tdirectory, it is advised to change this setting.\r\n\t\t\r\n5.\tModify **app_settings.py** as needed.\r\n\r\n6.\tIf reCaptcha is to be used, a public and private key will be needed.\r\n\r\n\tRefer to: http://www.google.com/recaptcha\r\n\t\r\n\tThe python reCaptcha library is also **required**. You can install it \r\n\tonto your PYTHON_PATH by using pip::\r\n\t\r\n\t\t$ pip install recaptcha-client\r\n\t\t\r\n7.\tBecause this app is designed to upload very large files, enforcing size\r\n\trestrictions using Django is not recomended and rarly works. It is better \r\n\tto add this enforcement on the web server layer. You can do this on Apache\r\n\tby adding the following directives to your Apache config::\r\n\t\r\n\t\tLimitRequestBody 1073741824 #The same size as specified in your app_settings.py file\r\n\t\tErrorDocument 413 http:///413error/\r\n\t\t\r\n8.\tIf you care about your files being secured, you will probably want to protect\r\n\tthe directory where files are stored using apache::\r\n\t\r\n\t\t\r\n\t\t\tOrder allow,deny\r\n\t\t\tDeny from all\r\n\t\t\r\n\t\t\r\n\tYou may also want to consider adding the necessary directives to redirect\r\n\tnon-ssl traffic over to ssl::\r\n\t\r\n\t\tRewriteEngine On\r\n\t\tRewriteCond %{HTTPS} off\r\n\t\tRewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}\r\n\t\t\r\n9.\tMap your urls.py to django-bft's urls. An example of this would be::\r\n\r\n\t\turlpatterns = patterns('',\r\n\t\t\t...\r\n\t\t\t(r'', include('bft.urls')),\r\n\t\t)\r\n\t\t\r\n10.\tSetup a cron job to handle file archiving and deletion. An example of this\r\n\tcould be::\r\n\r\n\t\t#!/bin/sh\r\n\r\n\t\t./manage.py deleteuploads\r\n\t\t./manage.py deletetempfiles\r\n\t\t\r\n11.\tDon't forget to collect your static files and sync your database::\r\n\r\n\t\t$ python manage.py syncdb\r\n\t\t$ python manage.py collectstatic\r\n\t\t\r\n\t\r\n__ https://github.com/django-bft/dango-bft/downloads", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/django-bft/django-bft/downloads", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/django-bft/django-bft", "keywords": "", "license": "GNU GPL v3", "maintainer": "", "maintainer_email": "", "name": "django-bft", "package_url": "https://pypi.org/project/django-bft/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-bft/", "project_urls": { "Download": "https://github.com/django-bft/django-bft/downloads", "Homepage": "http://github.com/django-bft/django-bft" }, "release_url": "https://pypi.org/project/django-bft/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "Big File Transfer Application written in Django", "version": "0.2.0" }, "last_serial": 313848, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "24e70b03bd7bd2a473dc7bbe14fb6324", "sha256": "c1ad86476a2b01800a7815b270ae7c10a2ceeaa6166ce08e5fb375c4d49a2730" }, "downloads": -1, "filename": "django-bft-0.1.0.tar.gz", "has_sig": false, "md5_digest": "24e70b03bd7bd2a473dc7bbe14fb6324", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 195628, "upload_time": "2011-04-18T22:23:52", "url": "https://files.pythonhosted.org/packages/f7/da/d29d008dba39032d648258a3dee726e0ae2baf19cc5ae79fc3a0ef5194ea/django-bft-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "a6a40fe7ceb7531fb4f3418930f65dfc", "sha256": "3318b7122a56cc14b4ea5c1882e30035b9087a2e09a5057913342a41ae768202" }, "downloads": -1, "filename": "django-bft-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a6a40fe7ceb7531fb4f3418930f65dfc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 197498, "upload_time": "2011-04-29T06:16:57", "url": "https://files.pythonhosted.org/packages/4a/71/60d8bfe346b5e2a6f00b74f78c3bcf7c188dc59066ba7ca43ec3661d072f/django-bft-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a6a40fe7ceb7531fb4f3418930f65dfc", "sha256": "3318b7122a56cc14b4ea5c1882e30035b9087a2e09a5057913342a41ae768202" }, "downloads": -1, "filename": "django-bft-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a6a40fe7ceb7531fb4f3418930f65dfc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 197498, "upload_time": "2011-04-29T06:16:57", "url": "https://files.pythonhosted.org/packages/4a/71/60d8bfe346b5e2a6f00b74f78c3bcf7c188dc59066ba7ca43ec3661d072f/django-bft-0.2.0.tar.gz" } ] }