Django测试开发-19-引入xadmin
一、将xadmin导入Django工程中
1.1 xadmin下载地址: https://github.com/sshwsfc/xadmin/tree/django2
或者:
链接:https://pan.baidu.com/s/1VJPsN5GOW_xbiPb8t43oRg
提取码:nkei
1.2 下载压缩包
1.3 到zip目录下,进行pip3 install 压缩包 直到安装成功
1.4 只需要里面的xadmin文件夹
二、在项目下使用
2.1 在项目下新建extra_apps文件夹,并将压缩包解压至此文件夹
2.2 extra_apps 右键------找到Mark Directory As-选择Sources Root,将设置为SourcesRoot
2.3 settings.py下新增
INSTALLED_APPS = [ 'django.contrib.admin',#管理网站 'django.contrib.auth',#认证模块 'django.contrib.contenttypes',#内部框架 'django.contrib.sessions',#会话管理 'django.contrib.messages',#消息框架 'django.contrib.staticfiles',#映射的静态资源 'my_app',#加载到全局中 'vote', 'xadmin', # xadmin新增 'crispy_forms' # xadmin新增 ]
2.4 settings.py下新增
import sys sys.path.insert(0,os.path.join(BASE_DIR,'extra_apps'))
2.5 urls.py中新增路由
url(r'^xadmin',xadmin.site.urls),
2.6 执行数据库同步
python manage.py makemigrations
python manage.py migrate
2.7 访问浏览器:http://127.0.0.1:8000/xadmin
三、启动项目前可修改
3.1. 全局搜关键字:python_2_unicode_compatible 此方法改为从six中导入
例如:
from django.utils.encoding import python_2_unicode_compatible,smart_text
可拆分为
from django.utils.encoding import smart_text from six import python_2_unicode_compatible
3.2 报错:ImportError: cannot import name 'six' from 'django.utils'
解决方法:
1.pip3 install six 2.进入python3.6/site-packages 3.将six.py 复制到 django/utils即可
3.3 报错:No module named 'django.contrib.staticfiles.templatetags'
解决方法:
将from django.contrib.staticfiles.templatetags.staticfiles import static 替换成: from django.templatetags.static import static 即可
四、xadmin新建学生表
4.1 在extra_apps下的xadmin文件夹中models.py,新增Student表
class Student(models.Model): """学生表""" student_no = models.CharField(max_length=10,verbose_name="学号") student_name = models.CharField(max_length=30,verbose_name="姓名") student_age = models.IntegerField(verbose_name="年龄") student_score = models.IntegerField(verbose_name="分数") student_gender_select = (("M","男"),("W","女")) # 性别做成为下拉选择框样式 student_gender = models.CharField(max_length=10, choices=student_gender_select, # 设置性别选项 verbose_name="性别", default="" ) class Meta: verbose_name = "学生成绩" verbose_name_plural = verbose_name # def __str__(self): # # return self.student_name
4.2 adminx.py注册
class ControlStudent(object): # 显示字段 list_display = ('student_no','student_name','student_age','student_score','student_gender') # 搜索条件 search_fields = ('student_name',) # 每页显示n条 list_per_page = 5 xadmin.site.register(Student,ControlStudent)
4.3 执行数据库同步
python3 manage.py makemigrations
python3 manage.py migrate
4.4 访问浏览器:
当有些人一出生就有的东西,我们要为之奋斗几十年才拥有。但有一样东西,你一辈子都不会有,那就是我们曾经一无所有。