1

DjangoでAJAX呼び出しを行っています。ここでは、ユーザーが日付と番号を入力し、その番号と日付のドキュメントが既に存在する場合はAJAX呼び出しが検索されます。

アプリケーションは国際化およびローカライズされています。問題は、AJAXによって送信された日付を有効なPython/Django日付オブジェクトにどのように解釈するかです。もちろん、これは現在のユーザーロケールを使用して実行する必要があります。

私が見つけた1つの解決策は機能しません: Django:ビューでフォーマット日付を取得する方法は?文字列(この場合は)
get_format()を返しますが、 。の形式のフォーマット文字列を期待します。 j-n-Ystrftime()%j-%n-%Y

Djangoのフォーマットが私を打ち負かすフォーマットと異なる理由、参考までstftime()に、現在Django1.5を使用しています。

問題は、私が見つけたすべての例で、日付がすでに日付オブジェクトであり、Python/Djangoがフォーマットを行うだけであるということだと思います。必要なのは、現在のロケールを使用して文字列を日付に変換し、それをフォーマットすることです。私はこれが標準的な問題であると考えていましたが、私が見つけて試したすべての可能な解決策はうまくいかないようです...

ありがとう、
エリック

4

3 に答える 3

2

Djangoにチケットを送信すると、答えの手がかりが得られました。対応するフィールドにデータを渡してto_python()を呼び出すことにより、特定のタイプのデータをオブジェクトに変換できます。私の場合、日付は次のようになります。

from django.forms.fields import DateField

field = DateField()
value = request.GET.get('date', '')
formatted_datetime = field.to_python(value)

エリック

于 2013-03-08T13:06:48.090 に答える
0

形式がわかっている場合は、を使用できるはずですdatetime.strptime

ajax呼び出しと組み合わせてコードで正常に使用しました。

詳細については、こちらをご覧ください:http ://docs.python.org/2/library/datetime.html#strftime-strptime-behavior

于 2013-03-07T16:44:31.500 に答える
0

文字列表現を入力する代わりに、ユーザーがカレンダーから日付を選択できるようにすると、生活が楽になります。このようにして、あなたはあなたが何を得ているかを正確に知ることができます。

于 2013-03-07T16:07:53.250 に答える