5-2 xadmin的安装

xadmin是基于django admin的一套后台管理系统,比django自带的admin更强大的管理系统。

xadmin有两种安装方式:

第一种:


自动安装另外三个依赖包


安装完成之后,直接在setting.py里配置



C:\Users\hlg\PycharmProjects\MxOnline\MxOnline\urls.py


然后把默认的admin注销掉


删除

重启系统。

访问:http://127.0.0.1:8000/xadmin/

报错:

ProgrammingError at /xadmin/
(1146, "Table 'mxonline.xadmin_usersettings' doesn't exist")
Request Method:	GET
Request URL:	http://127.0.0.1:8000/xadmin/
Django Version:	1.9
Exception Type:	ProgrammingError
Exception Value:	
(1146, "Table 'mxonline.xadmin_usersettings' doesn't exist")
Exception Location:	C:\Users\hlg\Envs\mxonline\lib\site-packages\MySQLdb\connections.py in defaulterrorhandler, line 36
Python Executable:	C:\Users\hlg\Envs\mxonline\Scripts\python.exe
Python Version:	2.7.12
Python Path:	
['C:\\Users\\hlg\\PycharmProjects\\MxOnline\\apps',
 'C:\\Users\\hlg\\PycharmProjects\\MxOnline',
 'C:\\Users\\hlg\\PycharmProjects\\MxOnline',
 'C:\\Users\\hlg\\PycharmProjects\\MxOnline\\apps',
 'C:\\Windows\\system32\\python27.zip',
 'C:\\Users\\hlg\\Envs\\mxonline\\DLLs',
 'C:\\Users\\hlg\\Envs\\mxonline\\lib',
 'C:\\Users\\hlg\\Envs\\mxonline\\lib\\plat-win',
 'C:\\Users\\hlg\\Envs\\mxonline\\lib\\lib-tk',
 'C:\\Users\\hlg\\Envs\\mxonline\\Scripts',
 'c:\\python27\\Lib',
 'c:\\python27\\DLLs',
 'c:\\python27\\Lib\\lib-tk',
 'C:\\Users\\hlg\\Envs\\mxonline',
 'C:\\Users\\hlg\\Envs\\mxonline\\lib\\site-packages']
Server time:	星期二, 5 六月 2018 19:32:12 +0800

是因为xadmin有一些默认的表,需要把xadmin同步过来。


查看一下数据库的表:



刷新页面,重新登录



成功。

百度搜索xadmin,可以了解xadmin的信息



第二种:

基于源码安装

浏览器访问:github.com

搜索:xadmin,然后回车



搜索结果:


第一条搜索结果

点击进去,xadmin的源码地址


下载源码,解压,把xadmin文件拷贝到,项目的根目录下



然后新建一个new package,extra_apps


然后把xadmin拖进extra_apps



把extra_apps,Mark一下


卸载之前安装的xadmin


pip list查看一下


但是,依赖包没有卸载掉,因为我们还是需要的

重启启动:

报错

"C:\Program Files\JetBrains\PyCharm 2017.1.3\bin\runnerw.exe" C:\Users\hlg\Envs\mxonline\Scripts\python.exe C:/Users/hlg/PycharmProjects/MxOnline/manage.py runserver 8000
Traceback (most recent call last):
  File "C:/Users/hlg/PycharmProjects/MxOnline/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\core\management\__init__.py", line 350, in execute_from_command_line
    utility.execute()
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\core\management\__init__.py", line 342, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\core\management\__init__.py", line 176, in fetch_command
    commands = get_commands()
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\utils\lru_cache.py", line 100, in wrapper
    result = user_function(*args, **kwds)
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\core\management\__init__.py", line 71, in get_commands
    for app_config in reversed(list(apps.get_app_configs())):
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\apps\registry.py", line 137, in get_app_configs
    self.check_apps_ready()
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\apps\registry.py", line 124, in check_apps_ready
    raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.

Process finished with exit code 1

试着修改:


再安装



还是报错:

"C:\Program Files\JetBrains\PyCharm 2017.1.3\bin\runnerw.exe" C:\Users\hlg\Envs\mxonline\Scripts\python.exe C:/Users/hlg/PycharmProjects/MxOnline/manage.py runserver 8000
Unhandled exception in thread started by <function wrapper at 0x02B4D4B0>
Traceback (most recent call last):
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\core\management\commands\runserver.py", line 109, in inner_run
    autoreload.raise_last_exception()
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\utils\autoreload.py", line 249, in raise_last_exception
    six.reraise(*_exception)
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\apps\registry.py", line 115, in populate
    app_config.ready()
  File "C:\Users\hlg\PycharmProjects\MxOnline\extra_apps\xadmin\apps.py", line 14, in ready
    self.module.autodiscover()
  File "C:\Users\hlg\PycharmProjects\MxOnline\extra_apps\xadmin\__init__.py", line 49, in autodiscover
    register_builtin_plugins(site)
  File "C:\Users\hlg\PycharmProjects\MxOnline\extra_apps\xadmin\plugins\__init__.py", line 41, in register_builtin_plugins
    [import_module('xadmin.plugins.%s' % plugin) for plugin in PLUGINS if plugin not in exclude_plugins]
  File "c:\python27\Lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
  File "C:\Users\hlg\PycharmProjects\MxOnline\extra_apps\xadmin\plugins\importexport.py", line 48, in <module>
    from import_export.admin import DEFAULT_FORMATS, SKIP_ADMIN_LOG, TMP_STORAGE_CLASS
ImportError: No module named import_export.admin

最后一步:


终于搞定.

运行项目


点击 日志记录

报错:

Failed to get real commands on module "MxOnline": python process died with code 1: Traceback (most recent call last):
  File "C:\Program Files\JetBrains\PyCharm 2017.1.3\helpers\pycharm\_jb_manage_tasks_provider.py", line 25, in <module>
    django.setup()
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\apps\registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\apps\config.py", line 123, in create
    import_module(entry)
  File "c:\python27\Lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
  File "C:\Users\hlg\PycharmProjects\MxOnline\extra_apps\xadmin\__init__.py", line 4, in <module>
    from xadmin.sites import AdminSite, site
ImportError: No module named xadmin.sites

manage.py@MxOnline > makemigrations
"C:\Program Files\JetBrains\PyCharm 2017.1.3\bin\runnerw.exe" C:\Users\hlg\Envs\mxonline\Scripts\python.exe "C:\Program Files\JetBrains\PyCharm 2017.1.3\helpers\pycharm\django_manage.py" makemigrations C:/Users/hlg/PycharmProjects/MxOnline
Traceback (most recent call last):
  File "C:\Program Files\JetBrains\PyCharm 2017.1.3\helpers\pycharm\django_manage.py", line 43, in <module>
    run_module(manage_file, None, '__main__', True)
  File "c:\python27\Lib\runpy.py", line 188, in run_module
    fname, loader, pkg_name)
  File "c:\python27\Lib\runpy.py", line 82, in _run_module_code
    mod_name, mod_fname, mod_loader, pkg_name)
  File "c:\python27\Lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "C:\Users\hlg\PycharmProjects\MxOnline\manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\core\management\__init__.py", line 350, in execute_from_command_line
    utility.execute()
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\core\management\__init__.py", line 324, in execute
    django.setup()
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\apps\registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "C:\Users\hlg\Envs\mxonline\lib\site-packages\django\apps\config.py", line 123, in create
    import_module(entry)
  File "c:\python27\Lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
  File "C:/Users/hlg/PycharmProjects/MxOnline\extra_apps\xadmin\__init__.py", line 4, in <module>
    from xadmin.sites import AdminSite, site
ImportError: No module named xadmin.sites

Process finished with exit code 1

xadmin 无法创建xadmin_log 或者是xadmin源代码使用,没有引用xadmin包报错或 1146, "Table 'mxonline.xadmin_log' doesn't exist"

解决方案:

第一步:将xadmin所在的目录为source_root

第二步:在settings.py中引用xadmin所在的目录

第三步makemigrations和migrate















猜你喜欢

转载自blog.csdn.net/huanglianggu/article/details/80585690
5-2