我正在尝试制作用户最近访问过的网页列表,但我不断获得TypeError: store_visited_urls() takes no arguments (1 given)
。
我不知道如何给出一个论点。
Python / Flask代码:
app.secret_key = '/r/xd8}q/xde/x13/xe5F0/xe5/x8b/x96A64/xf2/xf8MK/xb1/xfdA7x8c'
def recentsites():
session['urls'] = []
@app.after_request
def store_visited_urls():
session['urls'].append(request.url)
if(len[session['urls']]) > 3:
session['urls'].pop(0)
session.modified = True
@app.route('/')
def index():
data = []
if 'urls' in session:
data = session['urls']
return render_template('index.html', data=data)
答案 0 :(得分:-1)
我认为作为一个函数,它会自动将self作为参数。创建类时,此参数作为调用的一部分包含在内。
定义def store_visited_urls(self):
但继续不带参数调用它。
从它看起来的方式session
必须在课堂上定义。因此,您将引用self.session
,以便在实例化类时将其拾取。
请参阅What is the purpose of self?以获取解释。
我看到您正在使用装饰器请参阅Decorators I: Introduction to Python Decorators和A guide to Python's function decorators或Python Decorators或Primer on Python Decorators