Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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 search()只接受2个参数(给定1个)_Python_Django_Django Models_Django Forms_Django Templates - Fatal编程技术网

Python search()只接受2个参数(给定1个)

Python search()只接受2个参数(给定1个),python,django,django-models,django-forms,django-templates,Python,Django,Django Models,Django Forms,Django Templates,views.py def search(request,csv_export): if request.method == 'POST': reports = Report.objects.filter(user__in=user_list).order_by('-created_date_time', '-id') ''''' some code '''''' if csv_export: response = Ht

views.py

def search(request,csv_export):
    if request.method == 'POST':
        reports = Report.objects.filter(user__in=user_list).order_by('-created_date_time', '-id')
    ''''' 
    some code
    ''''''
    if csv_export:  
        response = HttpResponse(mimetype='text/csv')
        filename = "%s-%s.csv" % ('incident-reporter', datetime.datetime.now().strftime('%Y-%m-%d'))
        response['Content-Disposition'] = 'attachment; filename=%s' % filename
        writer = UnicodeWriter(response, encoding='utf-8')
        writer.writerow(headerrow)
        for writerow in report_list:
            writer.writerow(writerow)
        return response        
    return render(request,'search.html',{'report':report})  
url.py

 urlpatterns = patterns(
     'incident.views',
     (r'^$', 'index'),
     (r'^search/$', 'search',{"csv_export": False}),
     (r'^csv_export/$', 'csv_export',{"csv_export": True}),
     (r'^what/$', 'what'),
     (r'^where/$', 'where'),
     (r'^when/$', 'when'),
     (r'^media/$', 'media'),
)
我得到这个错误:

“位于/report/search/search()的TypeError正好接受2个参数(给定1个)”

请参见下面我的回溯:

Traceback:
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  23.                 return view_func(request, *args, **kwargs)

Exception Type: TypeError at /report/search/
Exception Value: search() takes exactly 2 arguments (1 given)
编辑:URL.py在问题中更新

如果

{"csv_export": False}
就是你调用搜索函数的方式,很明显

搜索函数有两个参数:(请求、csv_导出)。您只发送一个参数(csv\u导出)

您的函数调用应该如下所示:

 {"request": something, "csv_export": False}

这个问题可能起源于其他地方(我认为是在
{%url%}
调用中),但它应该很容易解决:

def search(request, csv_export=False):
然后在URL.py中:

(r'^search/$', 'search'),  # <- more elegant, isn't it?
(r'^csv_export/$', 'csv_export', {"csv_export": True}),

(r'^search/$,'search'),#你能上传
/report/search
url的视图吗?你能发布更多的url.py吗?@Bibhas,url.py postedIs是你url中所有的url.py?@Bibhas,我更新了完整的url.py如果我删除了请求,我会收到这个错误“全局名称‘请求’没有定义”,不了解函数调用这个怎么样?(r“^search/$”、“search”、{“request”:“search”、“csv_export”:False}),而对于csv_export,我将url.py设置为r“^search/$”、“csv_export”、{“request”:“csv_export”、“csv_export”:True}),它给出了相同的错误。知道可能是什么问题吗?@Neatu这不是Django的工作方式。查看回溯中最后调用的第二个函数:
request
无论如何都会传递给view函数。您只能使用
url(…)
语法指定额外的参数。