Skip to main content

Simple and generic application for Django projects to attach and handle links for any object

Project description

django-generic-links

Python Compatibility PyPi Version CI badge License

Simple app to attach links to any Django model. Compatible with Django 4+ and Python 3.9+

Features

  • Model Admin
  • Generic inline admin
  • A template tag to get all links for a given model instance

Installation

Installing django-generic-links is fairly easy. You can...

pip install django-generic-links

...or, you can clone the repo and install it the old fashioned way.

git clone git://github.com/matagus/django-generic-links.git
cd django-generic-links
pip install -e .

then add generic_links to your settings.py:

INSTALLED_APPS = (
    # ...
    "generic_links",
)

and then run the migrations!

# python manage.py migrate

Usage

Using django-generic-links models

Imagine you have a music app in your project where you save and manage artist's data. So you have an Artist model. And you'd like to store and display links for each artist, say her facebook page, her youtube artist page and her last.fm profile page:

Generic Links Inline Admin

Since a GenericLink instance will be associated to another object you usually wish to show an inline model admin form in that model form.

Using django-generic-links templatetags

Now imagine you have an artist page. You're passing artist object using template context and you want to get all the links for it:

Development / Contributions

Running Tests

hatch run test:test will run the tests in every Python + Django versions combination.

Development commands

hatch shell

Want to help?

If you'd like to help, write example code, contribute patches, document things on the wiki your help is always appreciated! Just fork the project, clone your repo, commit, push and send me a pull request

License

django-generic-links is released under an BSD License - see the LICENSE file for more information.

Acknowledgements

Develop & built using Hatch project linting - Ruff

Tools used in building this package:

Posts I learned from:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_generic_links-0.9.0.tar.gz (6.2 kB view hashes)

Uploaded Source

Built Distribution

django_generic_links-0.9.0-py2.py3-none-any.whl (10.2 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page