django-dynamic-link is a Django file streaming app to provide download links without showing the real path to the served file. The links can be set to expire by date or by clicks. It is also possible to use it for counting clicks on a download link.
- Download the file and unzip it.
- Copy the folder in your project root.
Installation with pip
- Type in your terminal: "pip install django-dynamic-link"
- Open a Terminal and change in the folder which contains the setup.py and then type "setup.py install"
- Add the "dynamicLink" to you installed apps in the settings file.
- Make sure that:
'django.middleware.locale.LocaleMiddleware', is in your MIDDLEWARE_CLASSES.
'django.contrib.redirects.middleware.RedirectFallbackMiddleware', is in your MIDDLEWARE_CLASSES.
'django.contrib.redirects', is added to your INSTALLED_APPS.
Your Admin is enabled ('django.contrib.admin', is in your INSTALLED_APPS.)
- Add the following to your urls.py:
from dynamicLink import dl_settings
(r'^%s/' % dl_settings.DOWNLINK_SERVE_PATH, include('dynamicLink.urls')),
- Change the pattern for your admin in urls.py from (r'^admin/', include(admin.site.urls)), to (r'^%sadmin/(.*)' admin.site.root),
- Run "python manage.py syncdb".
- And finally "python manage.py runserver".
-. For options review your dl_setting.py
-. Open the admin interface and go to "Dynamiclink" section. The rest should be self-explanatory.
-. Zero value for link age means never expires.
- Zero value for clicks means unlimited clicks.
- If a link never expires you can use it for click counting.
- Trough the action menu you can serve a site with several links.
- The filename from the created links are only for human readability. You can delete or change this filenames in any way you want.
djang-dynamic-links ships with an example proect.
1. First unpack the tar.gz
2. Than move "dynamicLink" in to the "example" folder or install it (see install section).
3. Run "python manage.py syncdb" and "python manage.py runserver".
4. Open a Browser, go to: http://127.0.0.1:8000/ and play.
Here are some key features of "django-dynamic-link":
· Optional link expires by time
· Optional link expires by clicks
· Is usable for counting