优草派  >   Python

python 3.5下xadmin的使用及修复源码bug

张晓东            来源:优草派

Xadmin是一个比较常用的Django后台管理系统,可以在开发Web应用程序时提供一些帮助。在Python 3.5中使用xadmin之前,需要安装一些依赖包。具体可以参考官方文档。在本文中,我们将介绍如何安装和使用xadmin,并且将讨论修复一个源码错误的方法。

python 3.5下xadmin的使用及修复源码bug

首先,我们需要在Python 3.5环境中安装xadmin。可以使用pip来安装xadmin:

```

$ pip install xadmin

```

接下来,我们需要在Django配置文件的INSTALLED_APPS列表中添加xadmin。

```

INSTALLED_APPS = (

...

'xadmin',

'crispy_forms',

...

)

```

在我们的应用程序urls.py文件中,我们需要将xadmin的URL添加到urlpatterns中。

```

from django.urls import include, path

import xadmin

urlpatterns = [

path('xadmin/', xadmin.site.urls),

# ... other urls

]

```

现在,我们已经成功地将xadmin集成到我们的应用程序中。在本例中,请通过输入http:// localhost:8000 / xadmin来访问xadmin。

现在,我们讨论如何修复xadmin的源码错误。当使用xadmin时,出现了这个错误:AttributeError:' NoneType 'object is not callable。

这个错误的解决方案是:在xadmin的源码中寻找调用NoneType对象的函数,以便找到错误发生的位置。在我的情况下,错误发生在xadmin/views/base.py中的_config方法中,因为_options对象是None类型。我们添加以下代码来修复它:

```

def _config(self):

self._setup()

self._get_media()

self.force_menu_open()

#ADD ----------------

if not self._options:

return

#ADD END -----------

# set attrs

for key, value in IDENTITY_MAP.items():

setattr(self, key, value(self))

for key, value in ITEM_MAP.items():

setattr(self, key, value(self))

for key, value in MENU_MAP.items():

setattr(self, key, value(self))

```

最后,我们进行一些测试,并确保错误已经修复。现在,我们可以自由使用xadmin的所有功能,尽情开发我们的Web应用程序。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行