Django网址

2024-04-18 22:35:49 发布

您现在位置:Python中文网/ 问答频道 /正文

错误:

用参数(u'rtcl'反转“费用报告”,日期时间.日期(2012年1月3日),日期时间.日期(2012,1,4),u“”)”和关键字参数“{}”未找到。在

在我的网址.py在

   url(r'^charges_report/(?P<company_name>[\s\w\d-]+)/(?P<start_date>[\s\w\d-]+)         /(?P<close_date>[\s\w\d-]+)/(?P<batch_no>[\s\w\d-]+)/$', 
                                'admin.reports.views.charges_report',
                                name='charges_report'),

以我的形式发表意见

当用户提交表单时发生错误。我是说请求.POST,这里是表单提交的代码

^{pr2}$

在视图中

  def charges_report(request, company_name, start_date, close_date, batch_no=None,):

Tags: nonamereport表单close参数date错误
3条回答

Django URL dispatch documentation警告:

  • 如果在导入任何视图函数时出现错误,它将导致reverse()引发错误,即使该视图函数不是您要反转的函数
  • “请确保您在URLconf文件中引用的任何视图都存在并且可以正确导入。”
  • “不要包含引用您尚未编写的视图的行。”-

其中之一可能是你的问题。在

您的URL接受关键字参数,但您在reverse中传递位置参数。在

尝试:

  kwargs = dict()
  kwargs['company_name'] = company_name
  kwargs['start_date'] = start_date
  kwargs['close_date'] = close_date
  kwargs['batch_no'] = batch_no
  return HttpResponse(reverse('charges_report',kwargs=kwargs))

您还需要格式化日期以匹配URL模式中的正则表达式。现在,您正在将文本字符串datetime.date(2012, 1, 3)作为start_date传递。在

start_date(和close_date)更改为与正则表达式匹配的内容,如下所示:

^{pr2}$

尝试使用kwarg字典而不是位置参数。在

相关问题 更多 >