django-simple-url

Simpler URL specification for Django.


Keywords
django, url
License
MIT
Install
pip install django-simple-url==0.0.4

Documentation

django-simple-url

django-simple-url allows developers to specify Django routes without having to learn the complicated intricacies of regular expressions, and is meant as a drop-in replacement of the native Django url function.

Usage

Using django-simple-url is almost the same as using the native Django url function.

# main/urls.py
from django_simple_url import simple_url

from . import views

urlpatterns = [
    simple_url('', views.index),
    simple_url('posts/<int:id>/', views.post),
]

It also works nicely with other apps, like for instance the Django Admin.

# main/urls.py
from django.contrib import admin
from django_simple_url import simple_url

urlpatterns = [
    simple_url('admin/', admin.site.urls),
]

Allowed formats

The following methods are allowed to specify the route.

Flask-like syntax

The most complete definition is as follows:

simple_url(r'posts/<int:year>/<int:month>/', views.post_list)

Converter-free syntax

This is similar to the Flask-like syntax, except that it does not explicitly specify the type. In this case, the type defaults to slug.

Rails-like syntax (Deprecated)

This is the easiest syntax, but for simplicity of implementation will eventually be gone.

simple_url(r'posts/:year/:month/', views.posts_list)

Inspiration

The development of this library is inspired by the following post on the Django mailing list: Challenge teaching Django to beginners: urls.py.