环境:pycharm django1.11.20 python2.7(根据网络上的资料,自己整理实现)
下载:https://github.com/sshwsfc/xadmin/tree/master,下载master版本(不用管里面写的django要大于1.9)
1.首先在项目下面新建文件:extra_apps,把下来master里面的xadmin文件夹(不是master里面的所有文件,只拷xadmin),拷到extra_apps目录下面,然后,pycharm中右键点击extra_apps ,选择 mark directory as 提升为蓝色(sources root)
2.安装依赖包,由于django1.11版本比较低,依赖安装比较多
django-crispy-forms
django-formtools
django-import-export
django-reversion
future
httplib2
six
3.到setting.py里INSTALLED_APPS中添加 'xadmin','crispy_forms', 并在文件上面,导入sys,添加以下代码
import sys
sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))
因为,xadmin在文件extra_apps里面
4.到根的urls.py中,admin改xadmin,
import xadmin
url(r'^xadmin/', xadmin.site.urls),
5.在项目app中新建python文件,adminx.py (注意是项目app中,并不是项目中),并写入 import xadmin
6.终端的窗口下执行迁移,并创建超级用户
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
即可使用http://127.0.0.1:8000/xadmin/打开
7.后台如何显示中文
在settings.py中
LANGUAGE_CODE = 'en-us' 改 LANGUAGE_CODE = 'zh-hans'
8.XADMIN如何不需要ID,不需凭ID更新,直接一直添加数据
1./extra_apps/xadmin/plugins/importexport.py
查找:result = resource.import_data(dataset, dry_run=Ture,raise_errors=False,file_name=import_file.name,user=request.user)
#233 dry_run=True 改成 dry_run=False
注意:result = resource.import_data,这个有两个,一个前面,一个是后面,要改前面的,如果改后面会出现,插入两次数据
2.import_export/resources.py
#454 去除判断、每次都是新增
#instance, new = self.get_or_init_instance(instance_loader, row) #把这一句注释掉换成下面
instance = self.init_instance(row)
new = True
3.搜索for field in self.get_import_fields():
#341 在for循环里添加判断语句
if field.attribute == 'id':
continue
注意:for field in self.get_import_fields():,这个有三个,要改最前面的,如果改后面会出现,插入两次数据