urls.py に次の 2 つのパターンが必要かどうか疑問に思っています。
url(r'^books/author/(?P<id>\d+)/$', 'books.views.author'),
url(r'^books/author/(?P<id>\d+)/(?P<slug>[-\w]+)/$', 'books.views.author'),
基本的に、スラッグはオプションです。ビュー関数の定義は次のようになります。
def author(request, id, slug=None):
お知らせ下さい。