千家信息网

Django之入门 CMDB系统 (一) 基础环境

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,Django之入门 CMDB系统 (一) 基础环境前言作者: 何全,github地址: https://github.com/××× QQ交流群: 62-01-76-50-1通过此教程完成从零入门,能
千家信息网最后更新 2025年01月23日Django之入门 CMDB系统 (一) 基础环境

Django之入门 CMDB系统 (一) 基础环境


前言

作者: 何全,github地址: https://github.com/××× QQ交流群: 62-01-76-50-1

通过此教程完成从零入门,能够独立编写一个简单的CMDB系统。

目前主流的方法开发方式,分为2种:mvc 和 mvvc方式。本教程为 mvc 方式,即 django负责渲染html。后面会推出 mvvc(前后端分离)的入门教程。

教程项目地址: https://github.com/×××/husky/

教程文档地址: https://github.com/×××/husky/tree/master/doc

说明

框架是整个或部分系统的可重⽤设计,表现为一组抽象构件及构件实例间交互的⽅法; 另一种定
义认为,框架是可被应用开发者定制的应用骨架。

Django是Python下的一款著名的Web框架。

  • Django优点
    • 自带轮⼦众多,方便快速开发 如 Auth, Cache, 模板
    • 天生的MVC设计模式
    • 实用的管理后台
    • 自带ORM, Template, Form, Auth核⼼组件
    • 简洁的url设计
    • 周边插件丰富

技术准备

需要你有python基本代码编写能力 以及 html js 基础, 对django有一个大概了解。

环境介绍

  • mvc 模式
  • centos 7.6
  • python 3.6
  • django 2.2
  • mysql 5.7
  • pycharm 2019.2 (在windows 上 远程centos进行开发)
  • vmware workstation 15.5.0
  • 项目名字: husky
  • cbv 编程方式

远端环境配置

  • 安装centos 7.6系统
  • 安装python3.6
yum install epel-release -yyum -y install sqlite  sqlite-develyum install  python-devel mysql-devel  python36-devel.x86_64  -ysudo yum -y install https://centos7.iuscommunity.org/ius-release.rpmyum install python36  python36-setuptools  -yeasy_install-3.6 pippython3.6  -m  pip  install   --upgrade  pipmv   /usr/bin/python  /tmp/ln -s /usr/bin/python3.6    /usr/bin/pythonsed  -i    's/\#\!\/usr\/bin\/python/\#\!\/usr\/bin\/python2/'   /usr/bin/yumsed  -i    's/\#\! \/usr\/bin\/python/\#\! \/usr\/bin\/python2/'   /usr/libexec/urlgrabber-ext-downmkdir -p  /root/.pip/cat >  /root/.pip/pip.conf   <
  • 安装django

pip3 install django==2.2.6

本地开发配置

  • 配置pycharm

file-->settings-->project interpreter--> add --> ssh interpreter 设置远端 python环境

设置/usr/bin/python3.6 目录选择 →/opt

file--> new project --> django

部署数据库

  • 为了快速,采用docker方式部署。
mkdir -p  /data/dockermkdir -p /data/mysql5722sudo yum install -y yum-utils device-mapper-persistent-data lvm2sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposudo yum makecache fastsudo yum -y install docker-cedocker versionsystemctl enable docker.service    systemctl start docker.servicesudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["https://890km4uy.mirror.aliyuncs.com"],"graph": "/data/docker"}EOFsudo systemctl daemon-reloadsudo systemctl restart docker
mkdir -p /data/mysql5722mkdir -p /data/mysql5722-cnfdocker run -itd \--name mysql \-p 3306:3306 \--mount type=bind,src=/data/mysql5722,dst=/var/lib/mysql \--mount type=bind,src=/data/mysql5722-cnf,dst=/etc/mysql \-e MYSQL_ROOT_PASSWORD=123456  \mysql:5.7.22 --character-set-server=utf8yum remove mariadb  -y yum install  mariadb    -ymysql -uroot  -p123456 -h 192.168.100.99create database  husky;

配置django 数据库

husky --> settings

ALLOWED_HOSTS = ['*']   ##允许所有地址访问DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql',        'HOST': '192.168.100.99',        'PORT': '3306',        'NAME': 'husky',        'USER': 'root',        'PASSWORD': '123456',    }}# DATABASES = {#     'default': {#         'ENGINE': 'django.db.backends.sqlite3',#         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),#     }# }
  • 修改python文件
vim /usr/local/lib64/python3.6/site-packages/django/db/backends/mysql/base.py35 #if version < (1, 3, 13):   注释掉 这两行36 #    raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)   vim /usr/local/lib64/python3.6/site-packages/django/db/backends/mysql/operations.py145         if query is not None:146             query = query.encode(errors='replace')   ##修改此行
  • 执行数据库初始化

    pycharm : 菜单栏 tools --> 选择 run manage.py task

makemigrations 生成数据文件

migrate 根据文件,执行生成表结构

createsuperuser


设置pycharm 项目启动 地址 为 192.168.100.99

pycharm 启动django项目 (非命令行启动)

ssh://root@192.168.100.99:22/usr/bin/python3.6 -u /opt/manage.py runserver 192.168.100.99:8000Watching for file changes with StatReloaderPerforming system checks...System check identified no issues (0 silenced).October 31, 2019 - 09:33:33Django version 2.2.6, using settings 'husky.settings'Starting development server at http://192.168.100.99:8000/Quit the server with CONTROL-C.

其他

测试登录 http://192.168.100.99:8000/admin 输入账号密码

创建 requirements.txt 文件

pip3 freeze > requirements.txt
pip3 install -r  requirements.txt    ## 安装所有模块,如有增加模块,需要加到这里面
0