我已经创建了一个类和方法,如下所示。我需要获取当前页面的网址。但是在调用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'
我做错了什么?
答案 0 :(得分:2)
此代码无效,因为有一些误解:
request
传递给get_user
get_user
的第一个参数应为self
,指向 A 实例。return current_url
中有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