Django之入門 CMDB系統 (一) 基礎環境

Django之入門 CMDB系統 (一) 基礎環境


前言

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

經過此教程完成從零入門,可以獨立編寫一個簡單的CMDB系統。python

目前主流的方法開發方式,分爲2種:mvc 和 mvvc方式。本教程爲 mvc 方式,即 django負責渲染html。後面會推出 mvvc(先後端分離)的入門教程。mysql

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

教程文檔地址: https://github.com/×××/husky/tree/master/docgit

Django之入門 CMDB系統  (一) 基礎環境

說明

框架是整個或部分系統的可重⽤設計,表現爲一組抽象構件及構件實例間交互的⽅法; 另外一種定
義認爲,框架是可被應用開發者定製的應用骨架。github

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

  • Django優勢
    • 自帶輪⼦衆多,方便快速開發 如 Auth, Cache, 模板
    • 天生的MVC設計模式
    • 實用的管理後臺
    • 自帶ORM, Template, Form, Auth核⼼組件
    • 簡潔的url設計
    • 周邊插件豐富

技術準備

須要你有python基本代碼編寫能力 以及 html js 基礎, 對django有一個大概瞭解。docker

環境介紹

  • 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   <<EOF
[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環境django

設置/usr/bin/python3.6 目錄選擇 <Project root>→/opt

file--> new project --> django

Django之入門 CMDB系統  (一) 基礎環境

部署數據庫

  • 爲了快速,採用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 <<-'EOF'
{"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.

其餘

測試登陸 http://192.168.100.99:8000/admin 輸入帳號密碼

建立 requirements.txt 文件

pip3 freeze > requirements.txt
pip3 install -r  requirements.txt    ## 安裝全部模塊,若有增長模塊,須要加到這裏面
相關文章
相關標籤/搜索