Passing variable to a form for display in django -


views.py

def when(request):     user = request.user     report = report.objects.get(user=request.user)     reportform = reportform(instance=report)      settings = settings.objects.get(user=request.user)     settingsform = settingsform(instance=settings)   #   settings=settings.objects.get(user=2)     if settings.date_format == '0':         date = report.manual_date.strftime('%d/%m/%y')     else:         date = report.manual_date.strftime('%m/%d/%y')     if settings.time_format == '0':         time = report.manual_time.strftime('%i:%m%p')     else:         time = report.manual_time.strftime('%h:%m')     if request.method == 'post':                     reportform = reportform(instance=report,data=request.post,initial={'manual_date': date,'manual_time': time})         if reportform.is_valid():             report = reportform.save(commit=false)              report.user = request.user             report.save()             return redirect('/member/media/')      return render_to_response('incident/when.html',{                   'newreport_menu': true,                    'form': reportform,                    'date':date,                    'time':time,                                      },                    context_instance=requestcontext(request)) 

forms.py

class reportform(forms.modelform):        class meta:         model = report         fields = ['incident_description','manual_date','manual_time', 'location_description',                   'incident_followup', 'incident_followup_name_1', 'incident_followup_email_1',                    'incident_followup_name_2', 'incident_followup_email_2', 'phone_call_log',                    'notes_other','notes_firstaid','notes_risk']     #    manual_date = forms.datefield(input_formats=['%d/%m/%y', '%d-%m-%y'],      #                              widget=forms.dateinput(format="%-d/%-m/%y"))         widgets = {'manual_date': forms.dateinput(attrs={'size':'15','id':'datepicker',             },format='%d/%m/%y'),'manual_time': forms.timeinput(attrs={'size':'8','class':'time_field', },format='%h:%m')          } 

how pass converted date , time format i.e,date , time variable form.the format specified in form displaying now,but depend on condition on views,the time , date format should change in form field.

thanks

try create form line:

reportform = reportform(instance=report,initial={'manual_date':date, 'manual_time':time}) 

where date variable date formatted. have move down instantiation of form. code:

def when(request):     user = request.user     report = report.objects.get(user=request.user)      settings = settings.objects.get(user=request.user)     settingsform = settingsform(instance=settings)   #   settings=settings.objects.get(user=2)     if settings.date_format == '0':         date = report.manual_date.strftime('%d/%m/%y')     else:         date = report.manual_date.strftime('%m/%d/%y')     if settings.time_format == '0':         time = report.manual_time.strftime('%i:%m%p')     else:         time = report.manual_time.strftime('%h:%m')     if request.method == 'post':                     reportform = reportform(instance=report,data=request.post,initial={'manual_date': date,'manual_time': time})         if reportform.is_valid():             report = reportform.save(commit=false)              report.user = request.user             report.save()             return redirect('/member/media/')      reportform = reportform(instance=report,initial={'manual_date':date, 'manual_time':time})     return render_to_response('incident/when.html',{                   'newreport_menu': true,                    'form': reportform,                    'date':date,                    'time':time,                                      },                    context_instance=requestcontext(request)) 

that tries set manually initial value of form formatted when instantiate it.

hope helps!


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -