Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django URL错误_Python_Django - Fatal编程技术网

Python Django URL错误

Python Django URL错误,python,django,Python,Django,错误: 找不到带参数(u'rtcl',datetime.date(2012,1,3),datetime.date(2012,1,4),u'')和关键字参数“{}”的“费用报告”的反面 在myurl.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

错误:

找不到带参数(u'rtcl',datetime.date(2012,1,3),datetime.date(2012,1,4),u'')和关键字参数“{}”的“费用报告”的反面

在myurl.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'),
在视图中

  def charges_report(request, company_name, start_date, close_date, batch_no=None,):
委员会注意到:

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

其中一个可能是您的问题。

您的URL使用关键字参数,但您在
反向传递位置参数

尝试:

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

start\u date
(和
close\u date
)更改为与正则表达式匹配的内容,如下所示:

kwargs['start_date'] = "{}".format(start_date)
kwargs['close_date'] = "{}".format(close_date)

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

我不理解你的问题。你是说当你用某个URL调用你的应用程序时,Django会给出一个错误“找不到关键字参数“{}”?你能给我们准确的测试用例和准确的错误消息文本吗?我有一个名为charges_report的url,它包含4个参数。这4个参数来自表单。当用户从表单中提交这4个参数时,该参数将重定向到费用报告。现在,如果用户没有提供最后一个参数(最后一个参数是可选的),那么我得到了错误。代码的哪一部分触发了错误?确切的错误消息文本可能会包含堆栈跟踪,它将告知错误发生的位置。当用户提交表单时,错误正在发生。我的意思是在请求时。POST,我重复一遍,代码的哪一部分触发了错误?我的意思是,到底是哪一行,哪一个表达式,在哪一个函数中?重要的是你要提供信息,你不能指望我们了解你的想法或你的屏幕。我有一个名为charges_report的url,它包含4个参数。这4个参数来自表单。当用户从表单中提交这4个参数时,该参数将重定向到费用报告。现在,如果用户没有提供最后一个参数(最后一个参数是可选的),那么我就得到了错误。对于参数为“()”和关键字参数为“{'start\u date':datetime.date(2012,1,1),'close\u date':datetime.date(2012,1,31)”的“charges\u report”,我仍然得到了相同的错误反转未找到“批次号”:u“”,“公司名称”:u'rtcl'}。
  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))
kwargs['start_date'] = "{}".format(start_date)
kwargs['close_date'] = "{}".format(close_date)