Django建教育平台(四)--Django Admin与Xadmin
2017-08-02 21:51
417 查看
Django自带后台管理程序--Admin, Admin也是一个app, 在project创建时就自动创建了.
a. 点击pycharm Run菜单--Debug--elearn_py3
问题是现在我们没有创建任何user, 没法登陆.
manage命令行中输入createsuperuser, 依提示输入用户名, 邮箱, 2次密码.
在弹出页面中输入该user的各种信息
但却报错了, 网上搜索得知从pip 安装xadmin, 目前还不支持Python3.x, Python2.x不存在这个问题.
Python3.x需要安装xadmin的话, 需要直接从git安装.解决方案参考呆萌的代Ma的博客.
在命令行输入pip install git+git://github.com/sshwsfc/xadmin.git, 安装成功.
在安装xadmin的同时还安装了django-crispy-forms, httplib2等依赖包.
点击绿色按钮"Clone and download", 弹出菜单中点击"Download ZIP".
将xadmin文件夹拖入extra_apps文件夹中, 在弹出菜单中把两个选项勾选取消掉.
右击extra_apps文件夹, 将其mark成Sources Root, 这样import xadmin的时候不需要写extral_apps的文件夹名.
卸载后用pip list查看安装包, xadmin的依赖包仍然在, 这是我们想保留的.
增加xadmin路径
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, os.path.join(BASE_DIR, "apps"))
sys.path.insert(0, os.path.join(BASE_DIR, "extra_apps")) # 新增代码
出现报错: 1146, "Table 'elearn_py3.xadmin_usersettings' doesn't exist", 原因是xadmin的默认表没有同步.
登录之后的页面:
1. 浏览器尝试登陆admin页面
a. 点击pycharm Run菜单--Debug--elearn_py3
b. 在浏览器输入http://127.0.0.1:8000/admin/, 弹出以下界面:
问题是现在我们没有创建任何user, 没法登陆.
c. 创建User
点击pycharm tools菜单--Run manage.py taskmanage命令行中输入createsuperuser, 依提示输入用户名, 邮箱, 2次密码.
d. 重新登陆admin
登陆页面输入用户名和密码, 进入以下页面e. 将页面文字改为中文
在settings中修改以下三行代码, 修改文字, 还修改时区为中国时区.LANGUAGE_CODE = 'zh-hans' # 英文改为中文 TIME_ZONE = 'Asia/Shanghai' # UTC时区改为上海时区 USE_I18N = True USE_L10N = True USE_TZ = False # True改为False, 否则Django存储数据库内容时, 会使用UTC时间.
f. Admin对应的数据表
admin页面的Groups, 是对应auth_groups这张表.2. Admin中注册UserProfile
其实Django本身是有User的, 只是之前我们创建UserProfile时把它删除了, 现在把UserProfile注册到Admin页面中a. 修改User app目录下admin文件
from django.contrib import admin from .models import UserProfile class UserProfileAdmin(admin.ModelAdmin): pass admin.site.register(UserProfile, UserProfileAdmin)
b. 刷新浏览器Admin页面
发现增加了USERS, 用户信息c. 尝试增加用户
点击用户信息右边的+Add按钮在弹出页面中输入该user的各种信息
3. Xadmin的安装
Xadmin比Django自带的admin更加智能, 后面使用Xadmin.a. 在elearn_py3虚拟环境下, 命令行输入pip install xadmin
但却报错了, 网上搜索得知从pip 安装xadmin, 目前还不支持Python3.x, Python2.x不存在这个问题.
Python3.x需要安装xadmin的话, 需要直接从git安装.解决方案参考呆萌的代Ma的博客.
在命令行输入pip install git+git://github.com/sshwsfc/xadmin.git, 安装成功.
在安装xadmin的同时还安装了django-crispy-forms, httplib2等依赖包.
b. 下载xadmin源代码
浏览器打开https://github.com/sshwsfc/xadmin点击绿色按钮"Clone and download", 弹出菜单中点击"Download ZIP".
c. 将xadmin源码copy至项目下
xadmin下载后解压, 将其中的xadmin文件夹copy到elearn_py3项目下d. 在elearn_py项目下新建一个python package, 命名为extra_apps, 用来放置第三方源码包.
将xadmin文件夹拖入extra_apps文件夹中, 在弹出菜单中把两个选项勾选取消掉.
右击extra_apps文件夹, 将其mark成Sources Root, 这样import xadmin的时候不需要写extral_apps的文件夹名.
e. pip uninstall xadmin
因为我们后续要使用xadmin修改后的源码, 使用时从extra_apps中import xadmin就可以了, 不需要pip安装的xadmin, 故将其删除.卸载后用pip list查看安装包, xadmin的依赖包仍然在, 这是我们想保留的.
4. Xadmin的配置
a. settings中修改app列表
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'users', 'courses', 'organization', 'operation', 'xadmin', # 新增app 'crispy_forms', # 新增app ]
增加xadmin路径
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, os.path.join(BASE_DIR, "apps"))
sys.path.insert(0, os.path.join(BASE_DIR, "extra_apps")) # 新增代码
b. 修改urls
from django.conf.urls import url from django.contrib import admin import xadmin # 新增代码 urlpatterns = [ url(r'^xadmin/', xadmin.site.urls), # 在原来2个admin前加x, 变成xadmin ]
c. 把User/admin中的代码删除或注释掉
d. 浏览器打开xadmin页面
Run菜单中点Run, 然后在浏览器中输入http://127.0.0.1:8000/xadmin/出现报错: 1146, "Table 'elearn_py3.xadmin_usersettings' doesn't exist", 原因是xadmin的默认表没有同步.
e. 同步xadmin表
manage命令行中输入makemigrations, 然后输入migratef. 浏览器重新加载http://127.0.0.1:8000/xadmin/
登录之后的页面:
相关文章推荐
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(12)——admin介绍
- 第三百七十八节,Django+Xadmin打造上线标准的在线教育平台—django自带的admin后台管理介绍
- 第三百九十六节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,自定义列表页上传插件
- 第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6
- 第三百八十九节,Django+Xadmin打造上线标准的在线教育平台—列表筛选结合分页
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(1)
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(5)
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(15)——xadmin的扩展
- 第三百七十三节,Django+Xadmin打造上线标准的在线教育平台—创建用户app,在models.py文件生成3张表,用户表、验证码表、轮播图表
- 第三百七十七节,Django+Xadmin打造上线标准的在线教育平台—apps目录建立,以及数据表生成
- 第三百九十节,Django+Xadmin打造上线标准的在线教育平台—Django+cropper插件头像裁剪上传
- 第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理
- 第三百九十七节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,主题本地化设置
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(10)——Operation models.py的设计
- 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(2)
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(7)——自定义UserProfile
- 基于IMOOC强力django+杀手级xadmin 打造上线标准的在线教育平台课程的学习(11)——makemigrations
- 第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示