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/
したがって、このようなurlpatternsは機能しません。
urlpatterns = patterns('',
(r'^(?P<blog_slug>[-\w]+)/$', 'weblog_index', {}),
...
(r'^', include('django.contrib.flatpages.urls')),
)
すべてのFlatpagesURLが最初のパターンによってトラップされるためです。最初のパターンをブログモデルの有効なスラッグにのみ一致させたいと思いますが、その方法がわかりません。