Skip to content

Django form and model fields that performs URL normalization and supports for multiple URLs in one field (separated by newlines)

License

Notifications You must be signed in to change notification settings

shantilabs/django-smarturlfield

Repository files navigation

django-smarturlfield

Django model and form fields that performs URL normalization. For example it adds 'http://' prefix and forces punicode encoding for non-ascii URLS. There are also fields that stores a list of URLs.

Tested with Django 3.0.x (should also work with 2.x)

Travis-CI build status

Installing

$ pip install django-smarturlfield

Fields

SmartURLFormField renders as <input> and can handle values like this:

  • http://example.com
  • example.com (normalized to http://example.com)
  • земфира.рф (normalized to http://xn--80ajfftz0a.xn--p1ai)

MultipleSmartURLFormField renders as <textarea> and can store multiple URLs separated by newline.

Usage

In forms:

from smarturlfield import SmartURLFormField, MultipleSmartURLFormField

class MyForm(forms.Form):
  url = SmartURLFormField()
  url_list = MultipleSmartURLFormField()  # textarea
  # ...

In models:

from smarturlfield import SmartURLDbField, MultipleSmartURLDbField

class MyModel(models.Model):
    url = SmartURLDbField()
    url_list = MultipleSmartURLDbField()  # textarea
    # ...

About

Django form and model fields that performs URL normalization and supports for multiple URLs in one field (separated by newlines)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published