Вы используете неправильный квантификатор : в регулярном выражении +
означает один или несколько , тогда как *
означает ноль или более .
Если вы хотите сопоставить и пустую строку, вам потребуется квантификатор *
.
Кроме того, мы должны иметь возможность сделать последний слэш необязательным, поскольку в противном случае требуются два слеша. Таким образом, мы можем использовать квантификатор ?
, что означает опционально .
url(r'^lists/(?P[\w\-]<b>*</b>)/<b>?</b>$', views.lists_template, name='lists_template'),