目錄
- 1. Django項(xiàng)目搭建
- 2. 配置開發(fā)及生產(chǎn)環(huán)境
- 2.1 base.py
- 2.2 創(chuàng)建開發(fā)環(huán)境配置
- 2.3 創(chuàng)建生產(chǎn)環(huán)境配置
- 2.4 修改/init.py
- 2.5 遷移數(shù)據(jù)庫(kù)
- 3. pycharm遠(yuǎn)程部署
- 4. 遠(yuǎn)程代碼調(diào)試
- 4.1 遠(yuǎn)程服務(wù)器安裝虛擬環(huán)境
- 4.2 配置pycharm的解釋器為遠(yuǎn)程服務(wù)器解釋器
- 5. 配置項(xiàng)目數(shù)據(jù)庫(kù)為mysql
- 5.1 安裝mysql
- 5.2 關(guān)閉遠(yuǎn)程服務(wù)器防火墻和selinux
- 5.3 生產(chǎn)環(huán)境配置
- 5.3 遷移數(shù)據(jù)庫(kù)
- 5.4 運(yùn)行遠(yuǎn)程服務(wù)器項(xiàng)目
1. Django項(xiàng)目搭建
- django項(xiàng)目創(chuàng)建cmdb
![](/d/20211017/81dccbea6f0045d2a8f6a3ba2fe3d943.gif)
- 子應(yīng)用的創(chuàng)建scanhost
>python manage.py startapp scanhost
- 設(shè)置本地化(語(yǔ)言,時(shí)區(qū), 安裝的應(yīng)用)
setting
# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans'
# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'
# USE_TZ = True
USE_TZ = False
INSTALLED_APPS = [
'scanhost',
]
- 應(yīng)用數(shù)據(jù)庫(kù)并創(chuàng)建超級(jí)用戶
>python manage.py makemigrations # 生成數(shù)據(jù)庫(kù)遷移腳本(每次修改了數(shù)據(jù)庫(kù)必備操作)
>python manage.py migrate # 將遷移腳本寫入數(shù)據(jù)庫(kù)并創(chuàng)建數(shù)據(jù)庫(kù)表
>python manage.py createsuperuser
- 瀏覽器訪問測(cè)試
>python manage.py runserver 9999
![](/d/20211017/0f93b0112093b02dadc41c40919cb2f0.gif)
![](/d/20211017/e6cc0196f6adcb58739a5d90e99b1575.gif)
- 項(xiàng)目代碼的管理(requirements.txt, .gitignore文件和README.md文件)
安裝插件 .ignore,并生成python上傳git項(xiàng)目需要忽略內(nèi)容的文件 .gitignore
>pip freeze > requirements.txt 生成 requirements.txt
創(chuàng)建README.md ## 導(dǎo)入此項(xiàng)目需要的包(最后完成時(shí)導(dǎo)入)
![](/d/20211017/d3c2781830ecab7c3a03a04f21ecf8a4.gif)
- git的管理
>git init #初始化git倉(cāng)庫(kù)管理
>git add * # 將本地增刪改查的文件全部添加到暫存區(qū)
>git commit -m "django project init" # # 添加到本地倉(cāng)庫(kù)
>git remote add origin https://gitee.com/***/*** ##上傳到gitee倉(cāng)庫(kù) 關(guān)聯(lián)倉(cāng)庫(kù)
>git push --set-upstream origin master
>git push --set-upstream origin master -f #首次上傳
2. 配置開發(fā)及生產(chǎn)環(huán)境
2.1 base.py
在 cmdb 下創(chuàng)建包 settings(作為配置文件存放地),將原始基本配置文件settings.py 移動(dòng)到此包下,并重命名為 base.py
![](/d/20211017/9d9ed6d7fe9f933357853497d68dbcdd.gif)
2.2 創(chuàng)建開發(fā)環(huán)境配置
創(chuàng)建開發(fā)環(huán)境配置:cmdb/settings/dev.py
from .base import *
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
![](/d/20211017/1aed645830b09d3a2b0323bee7a9ae0a.gif)
2.3 創(chuàng)建生產(chǎn)環(huán)境配置
創(chuàng)建生產(chǎn)環(huán)境配置:cmdb/settings/prod.py
from .base import *
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
DEBUG = False # 開發(fā)環(huán)境一定要關(guān)閉調(diào)試模式
ALLOWED_HOSTS = ['*'] # 允許所有主機(jī)訪問
2.4 修改/init.py
修改 cmdb/settings/init.py,配置為開發(fā)環(huán)境(如果項(xiàng)目將來需要上線, 修改啟動(dòng)項(xiàng)目訪問的配置文件為生產(chǎn)環(huán)境的配置文件即可,)
import os
env = os.environ.get('PROJECT_ENV', 'dev') ##dev開發(fā)環(huán)境,prod生產(chǎn)環(huán)境
if env == 'dev':
from .dev import *
elif env == 'prod':
from .prod import *
else:
from .dev import *
![](/d/20211017/6806faec967972b7138ad9411641a9fa.gif)
2.5 遷移數(shù)據(jù)庫(kù)
>python manage.py migrate
>python manage.py createsuperuser
>python manage.py runserver 9999
>git add *
>git commit -m "add dev and prod settings"
>git push
3. pycharm遠(yuǎn)程部署
![](/d/20211017/aa889a522541cc3b44e93dced2eb2019.gif)
![](/d/20211017/24771f01b94bb455e7385c85264c7601.gif)
![](/d/20211017/b7b19a8b3b8966f66174990524d51bda.gif)
![](/d/20211017/a39e7dc39964e951ebe14b1e49a332c4.gif)
![](/d/20211017/f0619a0575cbb3db017b58568ce3b034.gif)
![](/d/20211017/862c9bbb971cd4f6ad1d47b05ab15a46.gif)
![](/d/20211017/285c8ab41ed583e2aba488d2cfd187cc.gif)
![](/d/20211017/72cd3d27a187372c62a09b0c917b7f7d.gif)
![](/d/20211017/3637dc2735a176d1980703ce2680c916.gif)
4. 遠(yuǎn)程代碼調(diào)試
4.1 遠(yuǎn)程服務(wù)器安裝虛擬環(huán)境
[root@localhost yum.repos.d]# ssh root@192.168.139.130 ##虛擬機(jī)ip
[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost yum.repos.d]# vim CentOS-Base.repo
:%s/$releasever/7/g
[root@localhost yum.repos.d]# yum install -y python3
[root@localhost ~]# pip3 install virtualenv -i https://pypi.douban.com/simple ##安裝虛擬環(huán)境
[root@localhost cmdb]# which python3
/usr/bin/python3
[root@localhost ~]# virtualenv -p /usr/bin/python3 venv ## 激活虛擬環(huán)境
[root@localhost ~]# source venv/bin/activate
(venv) [root@localhost cmdb]# pip install -r requirements.txt -i https://pypi.douban.com/simple ##安裝所需的包
![](/d/20211017/dd776fc81b9d6a54ac2d3224cfa71eb9.gif)
![](/d/20211017/c6481fef263ef59c0dbc9b87f9abb601.gif)
4.2 配置pycharm的解釋器為遠(yuǎn)程服務(wù)器解釋器
![](/d/20211017/1503941eae6791d7917f141f2de99653.gif)
![](/d/20211017/cb6781edfa85df94551930cb5787a6dd.gif)
![](/d/20211017/f99a312b4a5724e594f0914001dd9683.gif)
![](/d/20211017/89464a99eb895697126c730c00f913f4.gif)
5. 配置項(xiàng)目數(shù)據(jù)庫(kù)為mysql
5.1 安裝mysql
(venv) [root@localhost cmdb]# yum install mariadb-server -y
(venv) [root@localhost cmdb]# systemctl start mariadb
(venv) [root@localhost cmdb]# systemctl enable mariadb
(venv) [root@localhost cmdb]# mysql
(venv) [root@localhost cmdb]# mysql_secure_installation ## 初始化
(venv) [root@server1 ~]# mysql -uroot -pwestos
MariaDB [(none)]> create database cmdb default charset='utf8'; ## 創(chuàng)建數(shù)據(jù)庫(kù)cmdb;(設(shè)置編碼格式為'utf8')
MariaDB [(none)]> create user cmdb@'%' identified by "cmdb"; ## .創(chuàng)建遠(yuǎn)程訪問數(shù)據(jù)庫(kù)用戶并授權(quán)
MariaDB [(none)]> grant all on cmdb.* to cmdb@'%';
(venv) [root@server1 ~]# mysql -ucmdb -pcmdb -h192.168.139.130 ##測(cè)試遠(yuǎn)程訪問數(shù)據(jù)庫(kù)
(venv) [root@server1 ~]# yum install -y mariadb-devel
(venv) [root@server1 ~]# yum install -y gcc
(venv) [root@server1 ~]# yum install -y python3-devel
(venv) [root@server1 ~]# pip3 install -y mysqlclient -i https://pypi.douban.com/simple
![](/d/20211017/112e01fb8b50e7b5a0d958a74ce56f5d.gif)
![](/d/20211017/a03c9cea84bd688f96a788b8d18e1581.gif)
![](/d/20211017/edaf6653782c93ab26a16d648328c71c.gif)
5.2 關(guān)閉遠(yuǎn)程服務(wù)器防火墻和selinux
(venv) [root@server1 ~]# systemctl stop firewalld.service
(venv) [root@server1 ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
(venv) [root@server1 ~]# setenforce 0
(venv) [root@server1 ~]# pip3 install -y mysqlclient -i https://pypi.douban.com/simple
![](/d/20211017/1c2dadbdc7a69a424d6ce3e333cca517.gif)
5.3 生產(chǎn)環(huán)境配置
修改生產(chǎn)環(huán)境配置文件:cmdb/settings/prod.py
from .base import *
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'cmdb',
'USER': 'cmdb',
'PASSWORD': 'cmdb',
'HOST': '192.168.139.130',
'PORT': '3306',
}
}
DEBUG = True # debug調(diào)試在生產(chǎn)環(huán)境一定要關(guān)閉
# ALLOWED_HOSTS = ['192.168.0.0/16'] # 允許訪問服務(wù)器的客戶端網(wǎng)段信息
ALLOWED_HOSTS = ['*'] # 允許訪問服務(wù)器的客戶端網(wǎng)段信息
5.3 遷移數(shù)據(jù)庫(kù)
(venv) [root@server1 cmdb]# python manage.py makemigrations
No changes detected
(venv) [root@server1 cmdb]# python manage.py migrate
(venv) [root@server1 cmdb]# python manage.py createsuperuser
![](/d/20211017/c83f1b6e8c193d989cf62c8019cff6ee.gif)
5.4 運(yùn)行遠(yuǎn)程服務(wù)器項(xiàng)目
![](/d/20211017/349e4232acff9e6c744c84347f1dc5f4.gif)
![](/d/20211017/89e906f529786ecc03ccec0e4fa31148.gif)
到此這篇關(guān)于python之Django自動(dòng)化資產(chǎn)掃描的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Django自動(dòng)化資產(chǎn)掃描內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 一篇文章帶你自學(xué)python Django
- python之django路由和視圖案例教程
- python Django框架快速入門教程(后臺(tái)管理)
- Python django中如何使用restful框架
- Python Django ORM連表正反操作技巧
- 利用Python Django實(shí)現(xiàn)簡(jiǎn)單博客系統(tǒng)
- Python Django 后臺(tái)管理之后臺(tái)模型屬性詳解
- python Django的顯示個(gè)人信息詳解