All 1.My application consist of two part.Part I - Settings page //just like settings selection in iphone or mobile phone Part II - Event creation page
So,in settings page ,in my app a page called datetime_format.html is for selecting date and time formats.This contains only two formats namely dd/mm/yyyy and mm/dd/yyyy.In forms.py i had mentioned 0 and 1 for respective format.If user selected mm/dd/yyyy format in database,the value is stored as 1.Depend on the value in database i am process to change the format of date in my event creation page.Based on the format selected,the date format takes effect in event creation page. My problem is,if the user selects the format as dd/mm/yyyy and click save,no problem appears. If the selected format is mm/dd/yyyy and if user tried to change the date,the date and month gets interchange,for example if the date is 02/03/2013 (3rd feb)in mm/dd/yyyy format after form post(after save in database) the values become 03/02/2013 that is 2nd march. But if the given date is 02/26/2013 that is (26th feb) after post it is saving as such and no format interchange issue. I want to know why this is happening and how to solve this. Thanks On Thursday, July 4, 2013 5:20:52 PM UTC+5:30, Sivaram R wrote: > > views.py > > def calender(request): > > """""" > settingsform = SettingsForm(instance=settings) > if request.method == 'POST': > reportform = ReportDateTimeForm(request.POST, instance=report) > if reportform.is_valid(): > report = reportform.save(commit=False) > report.user = request.user > report.save() > if settings and settings.date_format: > date = > report.manual_date.strftime(reportform.fields['manual_date'].input_formats[1]) > createddate = report.created_date_time.strftime('%b %d %Y') > else: > date = > report.manual_date.strftime(reportform.fields['manual_date'].input_formats[0]) > createddate = report.created_date_time.strftime('%d %b %Y') > """""" > return render_to_response('calender.html', > { > 'reportform': reportform, > 'settings': settings, > 'settingsform':settingsform > }, > context_instance=RequestContext(request)) > > forms.py > > DATE_FORMAT = ( > ('0', ' dd / mm / yyyy'), > ('1', 'mm / dd / yyyy'),) > DATE_INPUT_FORMAT = ['%d/%m/%Y','%m/%d/%Y'] > class ReportDateTimeForm(forms.ModelForm): > manual_date = forms.DateField(input_formats = DATE_INPUT_FORMAT, > widget=forms.DateInput(format = '%d/%m/%Y')) > class SettingsForm(forms.ModelForm): > date_format = forms.ChoiceField(widget=forms.RadioSelect(), > choices=DATE_FORMAT, initial='0') > > > views.py > > def calender(request): > > """""" > settingsform = SettingsForm(instance=settings) > if request.method == 'POST': > reportform = ReportDateTimeForm(request.POST, instance=report) > if reportform.is_valid(): > report = reportform.save(commit=False) > report.user = request.user > report.save() > if settings and settings.date_format: > date = > report.manual_date.strftime(reportform.fields['manual_date'].input_formats[1]) > createddate = report.created_date_time.strftime('%b %d %Y') > else: > date = > report.manual_date.strftime(reportform.fields['manual_date'].input_formats[0]) > createddate = report.created_date_time.strftime('%d %b %Y') > """""" > return render_to_response('calender.html', > { > 'reportform': reportform, > 'settings': settings, > 'settingsform':settingsform > }, > context_instance=RequestContext(request)) > > forms.py > > DATE_FORMAT = ( > ('0', ' dd / mm / yyyy'), > ('1', 'mm / dd / yyyy'),) > DATE_INPUT_FORMAT = ['%d/%m/%Y','%m/%d/%Y'] > class ReportDateTimeForm(forms.ModelForm): > manual_date = forms.DateField(input_formats = DATE_INPUT_FORMAT, > widget=forms.DateInput(format = '%d/%m/%Y')) > class SettingsForm(forms.ModelForm): > date_format = forms.ChoiceField(widget=forms.RadioSelect(), > choices=DATE_FORMAT, initial='0') > > If no values are saved in settings table,it is showing the default date > format.If any value is saved eg:if the selecetd format is dd/mm/yyyy in > db it is saved as 0.But in calender page it is displayed as > mm/dd/yyyyformat,it is showing > mm/dd/yyyy format for both date format,it seems like for default it is > showing the correct format,if any values are saved it is always showing > this format mm/dd/yyyy > > Any help is greatly appreciated. > > > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. For more options, visit https://groups.google.com/groups/opt_out.