我创建了一个类和方法,如下所示。我需要获取当前页面的网址。但在调用 get_full_path() 时出现错误。
class A(object):
def get_user(request):
current_url = request.get_full_path()
return current_url
class B(A):
b = A()
b.get_user()
print b.current_url
Traceback Error:
AttributeError: 'A' object has no attribute 'get_full_path'
我犯了什么错误?
该代码无法工作,因为存在一些误解:
- 你应该通过
request
to get_user
- 第一个参数
get_user
应该self
这指向A实例。
- 对象不能返回值(你有
return current_url
in A class
).
- 在此示例中不必使用类继承。
您的代码应如下所示:
class A(object):
current_url = None
def get_user(self, request):
self.current_url = request.get_full_path()
b = A()
b.get_user(request)
print b.current_url
或者,如果您想将完整路径传递给构造函数class A
,并且出于某种原因在继承的类 B 中使用它:
class A(object):
def __init__(self, current_url):
self.url = current_url
def get_path(self):
return self.current_url
class B(A):
# whatever you need here
pass
b = B(request.get_full_path())
print b.get_path() # prints current path
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)