Description
Django file streaming application 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.
License
New BSD license
Note
It’s tested with Django 1.2
Example project is includet
Features
Optional link expires by time
Optional link expires by clicks
Is usable for counting
Installation
Dependences
This app
Django itself, its redirects from django contrib and his locale middleware.
Installation
Manual Installation
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”
With pip you can also uninstall it again: “pip uninstall django-dynamic-link”
Other possibilities
Open a Terminal and change in the folder which contains the setup.py and then type “setup.py install”
test your installation
Go to console and type:
:~$ python
import dynamicLink
dynamicLink.VERSION
(0, 4, 6)
Setup
Add “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”.
Usage
For options review your dl_setting.py
Open the admin interface and go to “Dynamiclink” section. The rest should be self-explanatory.
Hints
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.
Example project
djang-dynamic-links ships with an example proect.
First unpack the tar.gz
Than move “dynamicLink” in to the “example” folder or install it (see install section).
Run “python manage.py syncdb” and “python manage.py runserver”.
Open a Browser, go to: http://127.0.0.1:8000/ and play.
Metadata
Release files for django-dynamic-link 0.4.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| django-dynamic-link-0.4.6.tar.gz | 61.3 kB | Without provenance | Details for django-dynamic-link-0.4.6.tar.gz |
Release files / django-dynamic-link-0.4.6.tar.gz
| Download URL | django-dynamic-link-0.4.6.tar.gz |
|---|---|
| Size | 61.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
42bb5b9dfcca73f4cf70c9397c2cc7c87686842b127c3723d9bd075d7813525e
|
|
BLAKE2b-256 checksum How to use checksums |
03f74154c3d769c98513dd552fea002cd435589b1d7efc49bc8ca0627bf595ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for django-dynamic-link 0.4.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.