Еще проще использовать:
(?P<project_id>\w+|)
. «(a | b)» означает a или b, поэтому в вашем случае это будет один или несколько символов слова (\ w +) или ничего .
Таким образом, это будет выглядеть так:
url(
r'^project_config/(?P<product>\w+)/(?P<project_id>\w+|)/$',
'tool.views.ProjectConfig',
name='project_config'
),