現在、複数の言語をサポートしている Django アプリがあります。サブドメインのサポートを追加して、「de.mysite.com」にアクセスするとドイツ語の記事を照会し、「mysite.com」では英語 (デフォルト言語) で記事を照会できるようにしたいと考えています。約 20 のサブドメインがすべて同じ Django アプリを指しています。
データのすべてのフィールドを含む抽象モデルと、各言語の派生モデルがあります。各言語には、次のように独自のデータベース テーブルがあります。
class ArticleBase(models.Model):
title = models.CharField(max_length=240, unique=True)
date_added = models.DateField(auto_now_add=True)
class Meta:
abstract = True
# This is English, the default.
class Article(ArticleBase):
pass
class Article_de(ArticleBase):
pass
次のような記事を入手できます(今日はこれが機能しています):
def article(request, title, language=None):
if language:
mod = get_model('app', 'Article_' + language)
items = mod.filter(title=title)
else:
items = Article.objects.filter(title=title)
これは私の現在の URL パターンです。
url(r'^article/(?P<title>[a-zA-Z_-]+)/$", 'app.views.article', name='article'),
記事ビューに渡すことができるように、URL パターンのサブドメイン プレフィックスを解析するにはどうすればよいですか? または、ビューを処理しているときにリクエストからこの情報を取得する必要がありますか?