flask里app.py有这么一段代码
from werkzeug.routing import BaseConverter class ListConverter(BaseConverter): def to_python(self, value): return value.split(',') def to_url(self, values): return ','.join(BaseConverter.to_url(value) for value in values)
class BaseConverter(object): """Base class for all converters.""" regex = '[^/]+' weight = 100 def __init__(self, map): self.map = map def to_python(self, value): return value def to_url(self, value): return url_quote(value, charset=self.map.charset)
我想问一下ListConverter里怎么可以直接使用BaseConverter.to_url(value),to_url方法是一个对象方法,怎么可以这样调用?
因为 ListConverter 继承自 BaseConverter,python 子类里是可以直接写类名来调用父类中的方法的
确实是有错的,可修改为super(ListConverter,self).to_url(values)或BaseConverter.to_url(self,values)