大佬麻烦看看这个
current = current()
File "D:\软件\djangoProject\app\cs.py", line 69, in html
print(self.quer.setlist.urlencode())
AttributeError: 'function' object has no attribute 'urlencode'
"GET /cs/?q=ddq HTTP/1.1" 500 183550报错信息
——————————————————————————
class Cs(object):
def __init__(self, request,ss,n="",pagesize=17,page="ym",plus=5
):
import copy
quer = copy.deepcopy(request.GET)
quer._mutable = True
self.quer = quer
def html(self):
pagestrlist = []
self.quer.setlist(self.page, )
print(self.quer.setlist.urlencode())
pagestrlist.append('<li class="active"><a href="?ym={}">首页</a></li>'.format(1))
print(self.quer.setlist.urlencode())有问题吗 根据报错信息,'function' object has no attribute 'urlencode',我们可以知道问题出在self.quer.setlist上,它是一个函数而不是一个对象,因此没有urlencode属性。
在代码中,我们可以看到self.quer.setlist是一个函数,而不是一个对象。因此,我们不能使用setlist.urlencode()。相反,我们应该使用urllib.parse中的urlencode()函数来编码查询字符串。
正确的代码应该是:
from urllib.parse import urlencode
class Cs(object):
def __init__(self, request,ss,n="",pagesize=17,page="ym",plus=5):
import copy
quer = copy.deepcopy(request.GET)
quer._mutable = True
self.quer = quer
def html(self):
pagestrlist = []
self.quer.setlist(self.page, )
print(urlencode(self.quer))
pagestrlist.append('<li class="active"><a href="?ym={}">首页</a></li>'.format(1))
这里我们使用了urlencode()函数来编码查询字符串。注意,我们需要从urllib.parse中导入urlencode()函数。 是的,代码中存在问题。
`self.quer.setlist`是一个函数对象,并没有名为`urlencode()`的属性。根据给出的代码片段,似乎你正在尝试将查询参数编码为URL编码的字符串。`urlencode()`是在`urllib.parse`模块中定义的方法。
要解决这个问题,你需要从`urllib.parse`模块导入`urlencode()`并使用它来对查询参数进行编码:
from urllib.parse import urlencode
class Cs(object):
def __init__(self, request, ss,n="",pagesize=17,page="ym",plus=5):
import copy
quer = copy.deepcopy(request.GET)
quer._mutable = True
self.quer = quer
def html(self):
pagestrlist = []
self.quer.setlist(self.page, )
encoded_params = urlencode(self.quer)
print(encoded_params)
pagestrlist.append('<li class="active"><a href="?{}">首页</a></li>'.format(encoded_params))
这样可以正确地对查询参数进行编码。
页:
[1]