【问题标题】:how to pass date variable into form如何将日期变量传递给表单
【发布时间】:2013-05-09 08:10:26
【问题描述】:

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=datetime.datetime.strptime('10/31/2012','%m/%d/%Y').strftime('%d/%m/%Y')

else:
        date=datetime.datetime.strptime('31/10/2012','%d/%m/%Y').strftime('%m/%d/%Y')  
if request.method == 'POST':            
    reportform = ReportForm(instance=report,data=request.POST)
    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,


               },
               context_instance=RequestContext(request))

models.py

class Report(models.Model):
    user = models.ForeignKey(User, null=False)
    manual_date = models.DateField('Another date', null=True, blank=True)

模板.html

 {{ form.manual_date }}{{ form.manual_date.errors }}{{ date }}

以上视图将模板中的硬编码日期值呈现为变量。可以在模型中显示来自manual_date字段的日期,而不是硬编码。以及如何在报表中传递它。

【问题讨论】:

  • 显示完整的视图代码和模板。

标签: django django-models django-templates django-views


【解决方案1】:

我想你想要这个,而不是使用硬编码日期使用 report.manual_date:

if settings.date_format == '0':
    date = report.manual_date.strftime('%d/%m/%Y')
else:
    date = report.manual_date.strftime('%m/%d/%Y')

【讨论】:

  • 在视图中,我从用户那里获取手动日期并保存在数据库中,因此输入的日期格式应根据所选格式更改,是否可以这样做。我只是显示日期变量在模板中,格式正在改变。我希望它发生在表单中,那么如何在表单中传递日期变量。
  • 知道如何将日期变量传递给报表。
  • 尝试将初始数据作为ReportForm(initial_data={'manual_date': date}, ....)传递。
  • 抛出这个错误 '__init__() got an unexpected keyword argument 'initial_data''
  • @user2086641 抱歉,请将initial_data 更改为initial
猜你喜欢
  • 1970-01-01
  • 2021-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-01
  • 1970-01-01
相关资源
最近更新 更多