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

前言

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

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

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

说明

框架是整个或部分系统的可重?设计,表现为一组抽象构件及构件实例间交互的?法; 另一种定

义认为,框架是可被应用开发者定制的应用骨架。

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 -y

yum -y install sqlite sqlite-devel

yum install python-devel mysql-devel python36-devel.x86_64 -y

sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm

yum install python36 python36-setuptools -y

easy_install-3.6 pip

python3.6 -m pip install --upgrade pip

mv /usr/bin/python /tmp/

ln -s /usr/bin/python3.6 /usr/bin/python

sed -i ‘s/\#\!\/usr\/bin\/python/\#\!\/usr\/bin\/python2/‘ /usr/bin/yum

sed -i ‘s/\#\! \/usr\/bin\/python/\#\! \/usr\/bin\/python2/‘ /usr/libexec/urlgrabber-ext-down

mkdir -p /root/.pip/

cat > /root/.pip/pip.conf <

[global]

trusted-host=mirrors.aliyun.com

index-url=http://mirrors.aliyun.com/pypi/simple/

EOF

python -V

安装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/docker

mkdir -p /data/mysql5722

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo yum makecache fast

sudo yum -y install docker-ce

docker version

systemctl enable docker.service

systemctl start docker.service

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <

{"registry-mirrors": ["https://890km4uy.mirror.aliyuncs.com"],"graph": "/data/docker"}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

mkdir -p /data/mysql5722

mkdir -p /data/mysql5722-cnf

docker 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=utf8

yum remove mariadb -y

yum install mariadb -y

mysql -uroot -p123456 -h 192.168.100.99

create 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.py

35 #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.py

145 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:8000

Watching for file changes with StatReloader

Performing system checks...

System check identified no issues (0 silenced).

October 31, 2019 - 09:33:33

Django version 2.2.6, using settings ‘husky.settings‘

Starting development server at http://192.168.100.99:8000/

Quit the server with CONTROL-C.

其他

创建 requirements.txt 文件

pip3 freeze > requirements.txt

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克服困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值