Django后台系统搭建笔记

(欢迎光临差–点先生博客)


(本文使用PyCharm 2022 Professional版,自带Django3.2.12,直接创建即可)

一、搭建Django

  1. 启动Django:python manage.py runserver,访问测试:127.0.0.1:8000
    在这里插入图片描述

  2. 创建应用:python manage.py startapp xxxxx, 创建完后将App加入你的Django项目里面,在settings.pyINSTALLED_APPS加入新建的App
    在这里插入图片描述

  3. 创建测试页面,在新建的App里面加入templates文件夹,文件夹内创建test.html页面
    在这里插入图片描述

  4. 编写视图views.py处理函数,以调用测试页面返回渲染
    在这里插入图片描述
    ps:这里也可以不创建html测试,直接编辑视图处理函数使用返回页面效果,使用HttpResponse
    在这里插入图片描述

  5. 配置访问路由urls.py,先将views目录下的test函数加来,再增path访问路由路径

    from my_app.views import test
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', test)
    ]
    
  6. 再启动服务python manage.py runserver 127.0.0.1:8001即可看到页面效果,这里我部署在127.0.0.1:8001在这里插入图片描述

二、静态文件访问配置

  1. setting里面设置STATIC_URL = '/static/'

  2. setting底部加入静态文件路径

    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, "static"),
    ]
    

三、启动后台管理系统

  1. 命令行输入:python manage.py migrate,完成文件迁移即可访问后台管理系统http://127.0.0.1:8001/admin
  2. 创建管理员账号:python manage.py createsuperuser
  3. 创建迁移文件命令:python manage.py makemigrations
  4. 设置后台语言和时区LANGUAGE_CODE = 'zh-Hans'TIME_ZONE = 'Asia/Shanghai'

四、启用MySQL

  1. settings.py里面修改默认database

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': '数据库名称(注意不是表名称)',
            'HOST': 'localhost',
            'PORT': '3306',
            'USER': 'root',
            'PASSWORD': '密码',
        }
    }
    
  2. 在要调用到数据库的App文件夹的_init_.py文件内加入,记得要pip install pymysql

    import pymysql
    pymysql.install_as_MySQLdb()
    
  3. 输入命令:python manage.py inspectdb > show_models.py即可获得已创建的mysql数据库对应Django映射关系的models,再将App下的models内容进行一定的增加与替换即可实现Django操作已存在的mysql数据库

五、后台管理系统选择要展示的数据

在admin里面添加后台管理类继承于admin.ModelAdmin,此类再注册register到后台内即可显示

from .models import ProductInfo   # 在view里面创建的对应数据模型导入
class productInfo_Admin(admin.ModelAdmin):
			list_display = [xxx] 	# 选择要展示的数据,字段为模型对应的字段
			search_fields=[xxx]	# 搜索框
			list_filter=[xxx]		# 筛选框
			admin.site.register(ProductInfo, productInfo_Admin)   # 完事之后注册在后台上
			
			admin.site.site_header = 'xxx'	# 后台登陆界面的标题,一个APP设置全部通用

六、数据起别名

  1. 后台登陆页别名,任意一app末尾添加admin.site.site_header = 'xxx系统'
    在这里插入图片描述

  2. App别名:在_init_.py里面添加,官方固定写法,难以理解

    from os import path
    from django.apps import AppConfig
    
    VERBOSE_APP_NAME = '测试模块'
    
    def get_current_app_name(file):
        return path.dirname(file).replace('\\', '/').split('/')[-1]
    
    
    class AppVerboseNameConfig(AppConfig):
        name = get_current_app_name(__file__)
        verbose_name = VERBOSE_APP_NAME
    
    
    default_app_config = get_current_app_name(
        __file__) + '.__init__.AppVerboseNameConfig'
    

在这里插入图片描述

  1. 大模块对应的下拉模块别名:对应App的models底部模型类内底部嵌入meta类加入:
    class Meta:
        verbose_name_plural = "下拉模块别名"
        verbose_name = "信息详情别名"
        managed = True
        db_table = '数据库表名'   # 要使用的数据库表名称
    ordering = ('id',)		# 数据排序依据字段’id’为正序’-id’为逆序
    

七、Django后台美化,simpleui的使用

  1. 先安装pip install django-simpleui

  2. 加入App,setting里面INSTALLED_APPS顶部 加入'simpleui',

  3. simpleui相关设置

    SIMPLEUI_LOGO = '../static/xxx.ico'  (也可以填链接)
    SIMPLEUI_LOGIN_PARTICLES = True    # 页面动态粒子动画开关
    SIMPLEUI_HOME_INFO = False  # 后台首页右侧git导航链接开关
    SIMPLEUI_ANALYSIS = False		# 后台首页咨询开关
    SIMPLEUI_HOME_QUICK = True  # 快捷栏开关
    SIMPLEUI_HOME_ACTION = True  # 操作日志开关
    

八、后台数据展示效果相关设置

对应App下的admin的待注册入后台的数据管理类设置:

class productInfo_Admin(admin.ModelAdmin):
    list_display = [字段]	# 要展示的字段
    search_fields = [字段]  # 搜索框使用的字段
    list_filter = ['activity_type', 'discount'] # 筛选框
    list_editable = ['id_code']  # 字段是否可编辑
    list_per_page = 2       # 每页显示数据数
    list_display_links = ['id_code']    # 进去查看信息详情的字段
    ordering = ['id']       # 数据默认排序方式,字段前加个“-”表示逆序
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值