美文网首页
基于Django+xadmin制作名片管理系统(不用写SQL命令

基于Django+xadmin制作名片管理系统(不用写SQL命令

作者: 夜雨_87aa | 来源:发表于2020-03-14 22:54 被阅读0次

    工欲善其事,必先利其器,xadmin是一个优秀的开源后台管理插件,漂亮的界面以及丰富的功能,好了废话不多说,我们直接开始名片管理系统的制作吧。(本次分享制作环境为win10操作平台,Django2.2.5+xadmin2)

    一、安装Django+xadmin

    1、安装Django

        pip install Djano
       或者参考菜鸟教程的步骤安装:https://www.runoob.com/django/django-install.html](https://www.runoob.com/django/django-install.html
    

    2、安装xadmin

      下载好xadmin压缩包,然后pip install xadmin压缩包
      xadmin压缩包下载地址:https://github.com/sshwsfc/xadmin/tree/django2](https://github.com/sshwsfc/xadmin/tree/django2
    
    image.png

    pip install xadmin-django2.zip 等待安装完成

    二、开始创建项目

    1、创建项目

    django-admin startproject BCMS
    

    2、创建app

    进到BCMS目录执行:python manage.py startapp user
    

    创建完成后,目录结构如下:


    image.png

    3、注册,配置自己的应用以及配置xadmin

    1、在BCMS目录下创建一个跟user目录同级的extra_apps目录,并将第一步下载好的xadmin-django2.zip解压后的xadmin文件放置到该目录下,如下所示
    
    image.png

    2、在BCMS/setting.py 文件中加入如下内容

    import sys
    sys.path.insert(0,os.path.join(BASE_DIR,'extra_apps'))
    INSTALLED_APPS 中加入如下三个
    'xadmin',
    'crispy_forms',
    'user',
    
    image.png

    3、修改BCMS/urls.py文件

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

    4、创建用户模型类user/models/py

    from django.db import models
    
    # Create your models here.
    
    class Signup(models.Model):
        username = models.CharField('用户名', max_length=255)
        phone = models.CharField('手机号', max_length=255)
        email = models.EmailField('邮箱', max_length=255)
        company = models.CharField('公司名称', max_length=255)
        create_time = models.DateTimeField('创建时间', null=True, blank=True)
        address = models.CharField('地址', max_length=255)
    
        # admin管理界面中显示中文model名称
        class Meta:
            verbose_name = '注册用户'
            verbose_name_plural = '注册用户'
    
        # 添加删除是不再显示Signup onject,而是显示__str__返回的内容
        def __str__(self):
            return self.username
    

    5、将自已的应用模型类注册到xadmin中并设置显示方式

        将user目录下的admin.py文件更改文件名为adminx.py
    user/adminx.py
    
    import xadmin
    from xadmin import views
    from .models import Signup
    
    
    # Register your models here.
    
    
    class GlobalSettings(object):
        site_title = '名片管理系统'
        site_footer = '名片管理系统'
        menu_style = 'accordion'  # 左边导航栏 收缩 手风琴
    
    class BaseSetting(object):
        enable_themes = True
        use_bootswatch = True  # 调出主题菜单
    
    xadmin.site.register(views.BaseAdminView, BaseSetting)
    xadmin.site.register(views.CommAdminView, GlobalSettings)
    
    
    
    
    # 定义Admin管理类
    class SignupAdmin(object):
    
        # options选项:
        # 1. 注册用户列表页都显示哪些字段
        list_display = ('username', 'company', 'create_time', 'email','address')
    
        # 2. 列表页过滤器
        list_filter = ('company', 'create_time')
    
        # 3. 列表页每页显示几个
        list_per_page = 5
    
        # 4. 注意search_fields里不能出现以时间定义的字段,如Date,DateTime等
        search_fields = ['username', 'email', 'company', 'phone']
    
        # 5. 这些字段可以点击显示详细信息
        show_detail_fields = ['username']
    
        # 6. 这些字段可以在列表页即时数据编辑,不用进change页面去编辑,ajax无刷新
        list_editable = ['address','email', 'company', 'phone']
    
        # 7. change页只能读取不能更改的数据
        #readonly_fields = ['username']
    
    xadmin.site.register(Signup, SignupAdmin)
    
    user/apps.py
    
    from django.apps import AppConfig
    
    
    class UserConfig(AppConfig):
        name = 'user'
        verbose_name = '用户管理'
    
    user/__init__.py
    
    default_app_config = 'user.apps.UserConfig'
    
    BCMS/setting.py
    将:LANGUAGE_CODE = 'en-us'
    修改为:LANGUAGE_CODE = 'zh-hans'
    

    6、生成数据库迁移模型,并迁移数据

    生成数据库迁移模型
    在BCMS目录CMD窗口执行
    python manage.py makemigrations
    
    迁移数据
    python manage.py migrate
    

    7、创建xadmin后台管理超级用户,等会登录会用到

      在BCMS目录CMD窗口执行,按照提示输入即可
      python manage.py createsuperuser
    
    image.png

    本次创建的用户为admin,密码为123456
    8、启动项目,登录体验自己的系统

    在BCMS目录CMD窗口执行
    python manage.py runserver 127.0.0.1:1101
    
    image.png
    image.png
    image.png
    image.png
    image.png
    image.png

    项目源码:
    链接:https://pan.baidu.com/s/15RC250MfoC50e62V4grYKg
    提取码:xmlk

    相关文章

      网友评论

          本文标题:基于Django+xadmin制作名片管理系统(不用写SQL命令

          本文链接:https://www.haomeiwen.com/subject/ealoshtx.html