路由转发器显示AttributeError: 'Monbile_cinverter' object has no attribute 'to_python'
时间: 2023-06-21 07:22:04 浏览: 181
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
5星 · 资源好评率100%
这个错误通常表示你在使用路由转发器时,使用了一个未定义的转换器。在你的代码中,你可能定义了一个名为`Mobile_converter`的路由转换器,但是没有定义`to_python`方法,因此出现了这个错误。
要解决这个问题,你需要在`Mobile_converter`类中定义一个`to_python`方法,该方法将字符串转换为Python对象。例如,如果你想将字符串转换为整数,可以像下面这样定义to_python方法:
```
class Mobile_converter:
def to_python(self, value):
return int(value)
```
然后,你就可以在路由中使用`Mobile_converter`了,例如:
```
from django.urls import path, register_converter
from .converters import Mobile_converter
register_converter(Mobile_converter, 'mobile')
urlpatterns = [
path('<mobile:number>/', views.mobile_detail),
]
```
在这个例子中,我们使用`register_converter`函数将`Mobile_converter`注册为`'mobile'`类型的转换器。然后,在路由中使用`<mobile:number>`就可以匹配一个整数类型的参数了。
阅读全文