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