フランス語で設定ファイルにdjangoのWebサイトが設定されました。Djangoの日付変換とURLconf
私のテンプレートでは、私は次のエントリ<a href="/{{ year }}/{{ month|date:"b" }}/">{{ month|date:"F" }}</a>
を持っています。私のURLconfで
、私はエントリにurl(r'^(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{1,2})/$',MonthArchivePostView.as_view())
を持っている問題は、テンプレートでは、生成された日付はフランス語であるということである(例えば、2月のために、私は<a href="/2012/fév/">Février</a>
を持っている)が、URLは英語を期待バージョン(/2012/feb/
)。
英語またはフランス語でURLに日付を入れても構いません。テンプレートで生成され、URLconfファイルで期待されるものだけを持つ必要があります。
は
アップデートクイックフィックスはなく、本当に-ソリューションありがとう:だからurls.pyに代わり/feb/
の/02/
を持っている代わりにb
のどこでもm
形式を使用します
url(r'^(?P<year>\d{4})/(?P<month>\d{1,2})/$',
MonthArchivePostView.as_view()
),
と汎用ビューで
class MonthArchivePostView(dates.MonthArchiveView):
model = Post
month_format = '%m'
date_field = 'publish'
ありがとうございますが、私はそれをどうやって行うのか分かりません。ジェネリッククラス(私の更新)を使用するので、月アーカイブのモデルは実際にはありません。私はモデルPostを使用しています。ここでは、[here](https://docs.djangoproject.com/ja/dev/ref/models/instances/#django.db.models.permalink)の説明のようなget_absolute_urlを使用します。 –
ジェネリッククラスview [返品](https://docs.djangoproject.com/en/dev/ref/class-based-views/#django.views.generic.dates.YearArchiveView)のみ、DateQuerySetと年、モデルはありません。私はジェネリッククラスを使用していました。なぜなら、それはもっと速くて簡単だと思われていましたが、私はもはやわかりません。また、get_absolute_url [must](https://docs.djangoproject.com/en/1.3/ref/models/instances/#django.db.models.Model.get_absolute_url)にはASCII文字のみが含まれているので、 '/ 2012/Feb/'/ 2012 /fév/'ではない。またはおそらく '/ 2012/f%C3%A9v /'だが、それほど良くない... –
URLにスラッグを使用し、非ASCII文字を避ける方が良いかもしれない。テンプレートタグ[slugify](https://docs.djangoproject.com/en/1.3/ref/templates/builtins/#slugify)は、前述のように 'django.template.defaultfilters'から' slugify'をインポートするモデル定義でも使用できます[ここ](http://stackoverflow.com/a/837835/302076) – dolma33