django_permalinker
is a Django application that provides an easy way to create, manage, and redirect permanent links (or permalinks). With customizable permalink ID generation, this app ensures that you have unique and efficient IDs to serve your redirecting needs.
- Customizable Permalink ID Generation: Adjust ID length, character set (uppercase, lowercase, digits), and more through Django settings.
- Admin Interface: Manage links via Django's admin panel.
- 404 Handling: Automatically raise 404 errors for invalid or missing links.
- Automatic Redirection: Automatically redirect users to the destination URL based on the unique ID.
- Python: 3.10+
- Django: 4+
- Install the package:
pip install django-permalinker
- Add
django_permalinker
to yourINSTALLED_APPS
insettings.py
:
INSTALLED_APPS = [
# Other apps
'django_permalinker',
]
- Include the
django_permalinker
URLs in your project’surls.py
:
from django.urls import path, include
urlpatterns = [
# Other paths
path("link/", include("django_permalinker.urls")),
]
- Run migrations to create the necessary database tables:
python manage.py migrate
- Start the Django development server:
python manage.py runserver
Customize the behavior of permalink ID generation in your Django project’s settings.py
file:
- PERMALINKER_ID_LENGTH: Defines the length of the generated ID (default: 5).
- PERMALINKER_ID_INCLUDE_UPPERCASE: If set to
True
, uppercase letters will be included in the ID (default:True
). - PERMALINKER_ID_INCLUDE_DIGITS: If set to
True
, digits will be included in the ID (default:True
).
Example:
# settings.py
PERMALINKER_ID_LENGTH = 8 # Custom ID length
PERMALINKER_ID_INCLUDE_UPPERCASE = False # Only lowercase letters
PERMALINKER_ID_INCLUDE_DIGITS = True # Include digits
- Access the Django Admin interface at
http://localhost:8000/admin/
. - Navigate to the Permalinker section and manage your links:
- Add New Link: Create a new link with a destination URL, name, and description.
- List Links: View all the existing links.
- Edit Existing Links: Update or delete existing links.
Once a link is created, you can access the link's permanent URL by visiting:
http://localhost:8000/link/<link_id>/
Django will handle the redirection to the destination URL automatically.
-
Create a new link in the admin panel:
- Name:
Example link
- Destination URL:
https://example.com
- Name:
-
Access the permanent link:
http://localhost:8000/link/abc123/
You will be redirected to https://example.com
.
View all the existing links in the Django admin.
Create a new link by providing a name, destination URL, and description.
Edit an existing link’s details or delete it.
This project is licensed under the MIT License - see the LICENSE file for details.