Django2集成xadmin

作者 夜狼荼 2019年01月29日 06:04 阅读 1931

一.使用命令安装Django首先,打开命令行工具,并切换到工程根目录。PyCharm里点击左下角的电脑图标,选择Te

一.使用命令安装Django

首先,打开命令行工具,并切换到工程根目录。

PyCharm里点击左下角的电脑图标,选择Terminal可以直接在工程根目录打开命令行工具。

然后在命令行工具输入以下命令,回车确定即可。

pip install Django

Django的最新版本是2.0.1,待安装完成后,进入python执行环境,输入以下代码检查是否安装成功。

>>> import django
>>> django.get_version()

二.安装xadmin

由于使用的是Django2.0的版本,所以需要安装xadmin项目django2分支的代码。

在PyCharm里打开命令行工具,输入以下命令完成安装:

pip install git+git://github.com/sshwsfc/xadmin.git@django2

也可以使用https的地址安装,命令如下:

pip install git+https://github.com/sshwsfc/xadmin.git@django2

注意,由于上述命令用到了Git工具,所以请安装Git工具后再执行上述命令(安装Git后可能需要重启电脑才能生效)。

另外,上述两种方式都是从GitHub上的xadmin工程Clone django2分支的代码,有时候速度非常慢,这里给个可能会有效的方案,操作步骤如下:

  1. 打开xadmin的GitHub页面并切换到django2分支(点击进入django2分支);

  2. 点击右边的“Clone or download”绿色按钮,选择“Download ZIP”,下载zip包到本地;

  3. 执行以下命令安装:

pip install --cache-dir . d:\xadmin-django2.zip(请自行替换)

三.xadmin集成配置

1、打开Django工程的settings.py配置文件,找到INSTALLED_APPS,追加配置如下:

INSTALLED_APPS = [

    ...

    'xadmin',
    'crispy_forms',
    'reversion',

]

另外,settings.py里,还可修改LANGUAGE_CODE的值,将语言设置为汉语:

LANGUAGE_CODE = 'zh-Hans' #修改语言为汉语

2、打开Django工程的urls.py配置文件,添加如下配置:

import xadmin
xadmin.autodiscover()

from xadmin.plugins import xversion
xversion.register_models()

urlpatterns = [
    path(r'admin', xadmin.site.urls)
]

四. 运行xadmin后台管理系统

这一步的操作,也是Django框架的内容,操作步骤如下:

1、创建数据库表,执行以下命令完成操作:

python manage.py migrate

2、创建超级用户,执行以下命令,并按照提示输入用户名、邮箱、密码完成操作:

python manage.py createsuperuser

3、启动xadmin后台管理系统,执行以下命令完成操作:

python manage.py runserver

4、打开浏览器,输入http://127.0.0.1:8000/ ,回车确认即可进入xadmin后台管理系统的登录界面,使用刚才创建的超级用户即可登录。

五.创建和配置Django应用

使用以下命令创建应用:

python manage.py startapp books

2、打开Django工程(django_xadmin目录)的settings.py配置文件,找到INSTALLED_APPS,追加配置如下:

INSTALLED_APPS = [
...
'books',
]

3、打开books目录的apps.py文件,添加如下代码:

from django.apps import AppConfig


class AppConfig(AppConfig):
    name = 'books' #替换为自己的App名称
    verbose_name = '笔记管理' #需要在系统界面上展示的名称

4、打开IdcManager目录的init.py文件,添加如下代码:

default_app_config = 'books.apps.AppConfig' #替换books为自己的应用名称

这一步的目的是将app的配置指向books应用的apps.py文件的AppConfig类,即步骤3添加的配置内容。

如果省略第三步和第四步,对程序的运行并不会有任何影响,只是界面上展示的时候,会直接展示App名称,即books。

注册Model

models.py创建好model books

例如:

class Books(models.Model):
    name = models.CharField(max_length=64)
    content = models.TextField()
    create_time = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.name

    class Meta:
        verbose_name = "笔记"
        verbose_name_plural = verbose_name

在books目录下创建adminx.py文件,并在该文件添加以下代码:

import xadmin

from .models import Books

# 两中方式,简单注册
xadmin.site.register(Books)

#或者用下面这种
@xadmin.sites.register(Books)
class BooksAdmin(object):
    list_display = ("name",  "create_time") #界面上展示的列,对应IDC Model的字段
    list_display_links = ("name",) #带链接可点击的字段,点击会进入编辑界面

这里列出本步骤中xadmin和Django-admin处理的不同之处:

  • 注册Model的代码写在adminx.py里
  • BooksAdmin继承的是object
  • 使用@xadmin.sites.registe进行注册(除了注解方式,也可以使用代码注册)

发表评论