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 -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环境

设置/usr/bin/python3.6 目录选择 <Project root>→/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 <<-‘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://[email protected]: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    ## 安装所有模块,如有增加模块,需要加到这里面

原文地址:https://blog.51cto.com/hequan/2447140

时间: 2024-10-12 23:26:06

Django之入门 CMDB系统 (一) 基础环境的相关文章

Django之入门 CMDB系统 (四) 增删改查

Django之入门 CMDB系统 (四) 增删改查 前言 作者: 何全,github地址: https://github.com/hequan2017 QQ交流群: 620176501 通过此教程完成从零入门,能够独立编写一个简单的CMDB系统. 目前主流的方法开发方式,分为2种:mvc 和 mvvc方式.本教程为 mvc 方式,即 django负责渲染html.后面会推出 mvvc(前后端分离)的入门教程. 教程项目地址: https://github.com/hequan2017/husky

Django之入门 CMDB系统 (二) 前端模板

Django之入门 CMDB系统 (二) 前端模板 前言 作者: 何全,github地址: https://github.com/××× QQ交流群: ××× 通过此教程完成从零入门,能够独立编写一个简单的CMDB系统. 目前主流的方法开发方式,分为2种:mvc 和 mvvc方式.本教程为 mvc 方式,即 django负责渲染html.后面会推出 mvvc(前后端分离)的入门教程. 教程项目地址: https://github.com/×××/husky/ 教程文档地址: https://gi

Django之入门 CMDB系统 (三) 登录注销

Django之入门 CMDB系统 (三) 登录注销 前言 作者: 何全,github地址: https://github.com/hequan2017 QQ交流群: 620176501 通过此教程完成从零入门,能够独立编写一个简单的CMDB系统. 目前主流的方法开发方式,分为2种:mvc 和 mvvc方式.本教程为 mvc 方式,即 django负责渲染html.后面会推出 mvvc(前后端分离)的入门教程. 教程项目地址: https://github.com/hequan2017/husky

Django入门(一)基础环境搭建

一.安装python3.6.2 mac如果没有安装Homebrew,可以通过以下命令安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 当你看到以下消息时,就代表安装完成了: ==> Installation successful! ==> Homebrew has enabled anonymous aggregate u

WPF入门教程系统一——基础

一. 前言   最近在学习WPF,学习WPF首先上的是微软的MSDN,然后再搜索了一下网络有关WPF的学习资料.为了温故而知新把学习过程记录下来,以备后查.这篇主要讲WPF的开发基础,介绍了如何使用Visual Studio 2013创建一个WPF应用程序. 首先说一下学习WPF的基础知识: 1) 要会一门.NET所支持的编程语言.例如C#. 2) 会一点“标准通用标记语言”:WPF窗体程序使用的XAML语言,也属于“标准通用标记语言”的一个分支.如果以前接触过XML.HTML.XHTML.AS

[Python] Django框架入门

说明:Django框架入门 当前项目环境:python3.5.django-1.11 项目名:test1 应用名:booktest 命令可简写为:python manager.py xxx => ./manager.py xxx 准备:已经安装python并加入环境变量 已安装 django 设计框架对比(引用,可自行搜索): 1.MVC MVC框架的核心思想是:解耦 降低各功能模块之间的耦合性,方便变更,更容易重构代码,最大程度上实现代码的重用 m表示model,主要用于对数据库的封装 v表示

Android基础入门教程——1.2 开发环境搭建

Android基础入门教程--1.2 开发环境搭建 现在主流的Android开发环境有: ①Eclipse + ADT + SDK ②Android Studio + SDK ③IntelliJ IDEA + SDK 现在国内大部分开发人员还是使用的Eclipse,而谷歌宣布不再更新ADT后,并且官网也去掉了集成Android开发环境的Eclipse下载链接,各种现象都表示开发者最后都终将过渡到Android Studio,当然这段过渡时间会很长,但如果你是刚学Android的话建议直接冲And

Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建

[注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.Spark编译与部署将以CentOS 64位操作系统为基础,主要是考虑到实际应用一般使用64位操作系统,内容分为三部分:基础环境搭建.Hadoop编译安装和Spark编译安装,该环境作为后续实验基础: 3.文章演示了Hadoop.Spark的编译过程,同时附属资源提供了编译好的安装包,觉得编译费时间可以直接使用这些编译好的安装包进行部署. 1.运行环境说明 1.1 硬软件环境 l  主机

Django开发的简单CMDB系统(仅供参考)

自己基于django开发的一个简单机房机柜CMDB系统,仅供参考.欢迎在下面留言,提出修改意见. 可实现增删改查. 权限未做,很多功能都没做,只做一个最基本的,初学. 前端模板用的inspinia2.5,和jumpserver用的一样的模块,所以看着差不多.模板可自行百度搜索. 放到pycharm或者linux环境下,配置好,运行就可以. domo 登录:http://42.62.6.54:8001/index.html  ,默认用户名hequan,密码123456. 下载链接:http://p