24

私は使用しますDjango 1.6

DateTimeFieldタイプを持つフィールドがある場合、Django自動的にDjango calendar.

しかし、ここでは(またはまたは)Iranを使用します。Persian CalendarJalali CalendarFarsi Calendar

Persian calendarページで生成されるため、Djangoの自動生成を変更するにはどうすればよいですか?

一方、?で変更default calendarしたいPersian Calendar

ここに画像の説明を入力

4

4 に答える 4

11

受け入れられた回答に追加するだけDateFieldで、適切な日付ピッカーを備えた Jalali は、カスタムを使用せずに実装することもできますwidget。最初に、入力を Jalali 形式で受け入れるように

指定する必要があります。これは、このカスタム モデル フィールドDateFieldを通じて実現できます 。

from django_jalali.db import models as jmodels

class Order(models.Model):
delivery_date =  jmodels.jDateTimeField(verbose_name='تاریخ تحویل')

ここで、日付ピッカーをユーザーに表示するために、 This Bootstrap Datepickerのような、ニーズに合った任意の JavaScript 日付ピッカーを使用できます。
フィールドが の一部として表示されると仮定すると、レンダリングを担当するまたはをmodel form,指定できます。HTML idclasswidget

class Order(forms.ModelForm):

class Meta:
    model = Order
    widgets = {
        'delivery_date': forms.DateInput(attrs={'id':'datepicker'}),
    }

最後に、テンプレートで、日付ピッカーを初期化するだけです。

    <script>
    $(document).ready(function() {
        $("#datepicker").datepicker({
            minDate: 2,
            maxDate: "+10D",
            isRTL: true
        });

    });
   </script>

最終的には次のようになります。
ジャラリデートピッカー

于 2015-04-15T13:28:12.937 に答える
9

おそらく、独自のカスタム ウィジェットを実装する必要があります。現時点では、Django がペルシャ語のカレンダー ウィジェットを提供しているとは思いません。

ペルシャ語の DateTime ウィジェットのコード スニペットを見つけることができましたが、まだテストしていません。それが完全に適合しない場合は、うまくいけば、独自のソリューションを作成するのに役立ちます。

于 2013-11-29T19:28:45.343 に答える