Day4 后台管理
昨天我们已经定义好了4个app——users,courses,organizations与operations。并且在相应的models.py文件下面定义模型,也就是数据库中的表。接下来就需要定义后台管理系统,并且将这些数据库中的表注册到管理系统中。这样可以在后台管理界面就可以实现数据库的操作。
而作为后台管理系统,有以下三个要求:1、权限管理。2、前端样式少。3、快速开发。
Django自带了自己的后台管理,但需要我们自己在各app下面的admin.py中进行model的注册。
运行项目,登陆127.0.0.1:8000/admin,此时第一次报了错误!
幸运的是很快就找到了解决方法。参考链接:https://blog.csdn.net/xiongjiezk/article/details/53220302
接下来就是后台管理系统需要登陆,Django没有自动创建管理员账号,所有需要我们输入createsuperuser 自行创建。
接下来在settings里修改,将语言与时区改变。
进入到users下面的admin.py文件中,进行注册UserProfile表。
首先当然是引入模型UserProfile,另外一个重要的点是model管理器的定义,然后将model与对应的管理器关联起来。这属于Django的基础知识,有必要补充。
Day5 安装xadmin
按照视频是下载了xadmin的源码,进行插入到Django项目中,也就是用别人造好的轮子。但是源码安装后,报错,原因是下属一个文件中,导入文件的母文件没有?所以一直报错。
太耽误时间了,所以直接安装pypi上的xadmin进行,因为不能忘记做项目是为了加深理解,不要太拘束于工具。
Django的后台管理系统的本质是对一张张表进行增删改查,他不依赖于业务逻辑。但是我们可以加上后台逻辑,让他满足我们的需求。
Day6 继续xadmin
昨晚注册user下面的EmailVerifyRecord表老是失败,就直接放弃了。今天才发现是我注册新的文件名字起错了。
xadmin需要在app下面新建adminx.py文件,在此文件里面注册model,文件名不能改变。
注册过程中,list_play,list_filter,search_fields 三个属性是规划展示的记录的。
Day 7
继续后台管理的最后一步,那就是进行全局的配置,例如左上角的“Django admin”字样改为我们自己的,还有就是左边各个app的名称改为中文。
后者是在每个app文件下面的app.py里面更改的,增加一个别名verbose_name。但是仅仅这样还是不行的,还需要在init.py中增加一个default_app_config=配置的地址。
这里就想到了昨天学习微信小程序时遇到的问题,我在page文件夹下面新建了页面,user页面上也写好了跳转的url。但是运行时还是报错,显示未找到跳转页面。这就很气,后来发现新建的跳转页面还需要在app.json中注册才可以,跟现在的时异曲同工之妙。理解的是这种思想。
前者成功改变,后者改了没效果,预计是旧版xadmin暂未支持此功能。
开始前端页面的配置
后台框架已经搭好了,现在就进行前端页面的配置。本项目属于前后端未分离,这也是属于老旧的格式,未来趋势还是前后端分离,这就涉及到了restful api,后期继续学习。
开始进行首页及登陆页面的设置。 进行配置之前,需要新建template与static文件夹,将相关静态文件存储进去,同时要牢记上面提及的思想,还需要在settings文件中,设置静态文件路径,让Django知道在哪里搜索静态文件。
莫名index.html界面css加载失败,暂且搁置,继续后面的学习,不可失道。