Я делаю сайт блога в Django. У меня есть такая модель блога:
class Blog(models.Model):
name = models.CharField(max_length=255)
slug = models.SlugField(max_length=255)
...
И я хочу, чтобы главные страницы каждого блога имели такие URL-адреса: www.example.com/blog-slug/
Однако я также использую Flatpages и хочу, чтобы они соответствовали URL-адресам, подобным этому: www.example.com/flat-page/
Таким образом, такие URL-шаблоны не будут работать:
urlpatterns = patterns('',
(r'^(?P<blog_slug>[-\w]+)/$', 'weblog_index', {}),
...
(r'^', include('django.contrib.flatpages.urls')),
)
потому что все URL-адреса Flatpages попадут в ловушку первого шаблона. Думаю, я хочу, чтобы первый шаблон соответствовал только действительным слагам из модели Blog, но я не уверен, как это сделать.