كيفية تغيير Deadformat الافتراضي AAAA-MM-DD إلى DD / MM / YYYY في Django؟

StackOverflow https://stackoverflow.com/questions/1677035

  •  16-09-2019
  •  | 
  •  

سؤال

بلدي locale deadformat هو dd / mm / yyyy و django يطلب من aaaa-mm-dd

عندما يثير مدخل المستخدم 04/11/2009 Django:

_('Enter a valid date in YYYY-MM-DD format.')) 

أنا باستخدام نوع حقل إدخال HTML بسيط = "نص"، وليس النماذج. DateField

شكرًا :)

هل كانت مفيدة؟

المحلول

أنا أفترض أنك تستخدم forms.DateField. وبعد إذا كان الأمر كذلك، فأنت بحاجة إلى تزويد input_formats حجة مثل ذلك:

class MyForm(forms.Form):
    start_date = forms.DateField(input_formats=['%d/%m/%Y'])

Input_Formats فقط يأخذ قائمة بالتنسيقات التي تريد قبولها.

يرى http://docs.djangoproject.com/en/dev/ref/forms/fields/#datefield. للمزيد من المعلومات.

نصائح أخرى

بناء على وظيفة التعليقات والتعليقات، يبدو أن هناك أكثر هنا فقط من استخدام Input_Formats لحقل التاريخ، على الرغم من أنك ستحتاج إلى القيام بذلك. الرسالة "أدخل تاريخ صالح بتنسيق yyyy-mm-dd" هي استثناء و ليس خطأ في التحقق من صحة النموذج. ستحصل على هذا الاستثناء إذا حاولت حفظ مثيل نموذجي باستخدام سلسلة تاريخ ليس "yyyy-mm-dd".

ما هو مطلوب هو استخدام DateField في النموذج، ثم إنشاء إنشاء النموذج باستخدام البيانات المنظفة، وهو كائن DateTime. يبدو أن البروتوكول المرجع هو إنشاء نموذج مع سلسلة بدلا من كائن DateTime.

يناقش هذا القسم من مستندات Django إعداد بيانات DateField:https://docs.djangoproject.com/en/dev/ref/models/instances/؟from=olddocs#what-happens-when- you-save.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top