Django建教育平台(四)--Django Admin与Xadmin
来源:互联网 发布:易语言表白源码999 编辑:程序博客网 时间:2024/04/29 10:13
Django自带后台管理程序--Admin, Admin也是一个app, 在project创建时就自动创建了.
1. 浏览器尝试登陆admin页面
a. 点击pycharm Run菜单--Debug--elearn_py3
b. 在浏览器输入http://127.0.0.1:8000/admin/, 弹出以下界面:
问题是现在我们没有创建任何user, 没法登陆.
c. 创建User
点击pycharm tools菜单--Run manage.py task
manage命令行中输入createsuperuser, 依提示输入用户名, 邮箱, 2次密码.
d. 重新登陆admin
登陆页面输入用户名和密码, 进入以下页面
e. 将页面文字改为中文
在settings中修改以下三行代码, 修改文字, 还修改时区为中国时区.
LANGUAGE_CODE = 'zh-hans' # 英文改为中文TIME_ZONE = 'Asia/Shanghai' # UTC时区改为上海时区USE_I18N = TrueUSE_L10N = TrueUSE_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 adminfrom .models import UserProfileclass UserProfileAdmin(admin.ModelAdmin): passadmin.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 urlfrom django.contrib import adminimport 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, 然后输入migrate
f. 浏览器重新加载http://127.0.0.1:8000/xadmin/
登录之后的页面:
- Django建教育平台(四)--Django Admin与Xadmin
- Django建教育平台(二)--Users App
- Django建教育平台(七)--用户登录
- Django建教育平台(八)--用户注册
- 使用xadmin替换django自带的admin后台
- Django入门(四、Admin)
- Django学习笔记(四)--admin的配置与应用
- Django Xadmin安装
- Django-xadmin的使用
- Django学习--xadmin
- Django xadmin注册
- Django xadmin全局配置
- Django Admin
- django admin
- django admin
- Django Admin
- Django - Admin
- Django-admin
- IOS UITableView实现左滑删除
- HTML表单
- 非极大值抑制——基于人脸检测(框出最大概率值的人脸区域)
- sudo时无法使用代理
- Android 跳转系统相册
- Django建教育平台(四)--Django Admin与Xadmin
- PHP学习心得
- T-SQL与PL/SQL的比较
- SpringMVC
- Oracle 数据导入/导出 IMPDP/EXPDP
- Spring事务管理——使用XML配置声明式事务
- TCP连接三次握手和四次挥手
- Hdu6066 RXD's date(2017多校第3场)
- Xcode 出现Could not build module 'Foundation'错误