日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django运维后台的搭建之一:使用model建立数据信息

發布時間:2025/4/16 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django运维后台的搭建之一:使用model建立数据信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2017年的上半年對我來說是極其難忘的一年,整個樂橙運營部的平臺運維全靠我一個人,而且同時公司又新上了一個阿里深圳區一個阿里公有云一個杭州公有云三套環境外加一套演示環境。所以一直念叨的運維后臺始終拖拖拉拉沒有兌現,現在公司社招來一個小弟給我打下手,使得我終于可以從麻煩的瑣事中脫身,有時間去把這個小心愿完成,于是就有了這一系列文章,主要是給自己一個記錄也是為了方便后來人。


首先,先說一下我的環境,本人使用阿里云centos7.0,django的版本是1.10.3,python是2.7,django目錄就是/django。


首先在/django里#django-admin startproject DahuaCloud,建立一個叫DahuaCloud的project,然后#cd?/django/DahuaCloud#django-admin startapp?Online,建立了一個叫Online的app。


建立完畢之后我們發現,在DahuaCloud下多了一個叫Online的文件夾,這個時候我們需要執行如下幾個步驟:

1)進入到DahuaCloud下的同名文件夾,編輯settings.py文件,把ALLOWED_HOSTS = [],里面加上“*”,否則打不開網頁;

2)還是在settings.py文件里,在INSTALLED_APPS這一欄下面追加‘Online’;

3)繼續編輯settings.py文件,在DATABASES這一欄里面寫上自己的數據庫信息,比如我的信息就是這樣:

可見我這個平臺的所有資料都保存到了本機的mysql里面的dahuacloud這個database里了。

4)進入mysql,#CREATE DATABASE `dahuacloud` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; ??這樣建立dahuacloud的database;

5)返回到/django/DahuaCloud,執行#python manage.py makemigrations#python manage.py migrate

6)執行#python manage.py createsuperuser,建立一個超級用戶,這個用戶是可以登錄網頁后臺的;

7)執行#python manage.py runserver 0.0.0.0:8000,這樣就可以在瀏覽器里輸入這個服務器的“外網地址:8000”看到一個簡易的后臺界面,輸入上面剛剛建立的用戶名和密碼就可以進去了。


至此整個準備工作完成,下面是今天的重點工作。


公司目前的整個云資源的情況如下,本人靈魂畫師,請大家領會精神:

可以看出,公司在阿里云里面有四個業務方面的服務器集群,以及一組SLB和一組RDS。我們現在就要建立一個數據表來記錄這些云資源的信息。


首先進入到Online這個文件夾里,編輯models.py,如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #?-*-?coding:?UTF-8?-*- from?__future__?import?unicode_literals from?django.db?import?models class?alionlineECS(models.Model):????#所有阿里線上的服務器取名叫alionlineECS ????#云服務器的用途選擇,作為ecs_type的選項? ????type?=?(?? ????????(U'HZ','樂橙杭州'),?? ????????(U'SZ','樂橙深圳'), ????????(U'OPEN','開放平臺'), ????????(U'PAAS','公有云統一PAAS'),?? ????) ????#verbose_name可以讓admin后臺顯示自定義的中文名字,而非字段 ????ecs_name?=?models.CharField(verbose_name='云服務器名稱',max_length=120) ????#choices找到type元組,并調用相關內容 ????ecs_type?=?models.CharField(verbose_name='云服務器類型',max_length=50,choices=type) ????#IPAddressField這個可以精確檢查是否輸入的是一個IPv4或者IPv6地址 ????ecs_inip?=?models.GenericIPAddressField(verbose_name='云服務器內網地址') ????#blank為空,代表在form中可以允許不填 ????ecs_outip?=?models.CharField(verbose_name='云服務器外網地址',max_length=20,blank=True) ????ecs_ipwidth?=?models.CharField(verbose_name='云服務器外網帶寬',max_length=50,default='0M') ????#default表示默認值 ????ecs_spec?=?models.CharField(verbose_name='云服務器配置',max_length=50,default='2H2G') ????ecs_remarks?=?models.CharField(verbose_name='備注',max_length=255,blank=True) ????ecs_signer?=?models.CharField(verbose_name='登記人',max_length=50,default='陳男神')? ????#登記時間設置為自動記錄,不會出現在選項中 ????ecs_signtime?=?models.DateField(auto_now_add=True) ??????? ????#返回相應的值 ????def?__unicode__(self): ????????return?self.ecs_name


然后在同文件夾的admin.py編輯成如下樣子:

1 2 3 4 5 6 7 8 9 10 11 12 #?-*-?coding:?UTF-8?-*-?? from?django.contrib?import?admin from?.models?import?alionlineECS?????#對應剛剛建立的那個alionlineECS class?EcsAdmin(admin.ModelAdmin):????#這里就直接寫EcsAdmin ????list_display?=?('ecs_name','ecs_type','ecs_inip','ecs_outip','ecs_ipwidth','ecs_spec','ecs_remarks','ecs_signer') ????#在編輯、新增頁面上排除ecs_signer的選項?? ????exclude?=?['ecs_signer'] ????#對保存函數進行更改,將登錄用戶設置為登記人?? ????def?save_model(self,request,obj,form,change): ????????obj.ecs_signer?=?str(request.user) ????????obj.save() admin.site.register(alionlineECS,EcsAdmin)


保存退出之后,在/django/DahuaCloud里重新執行#python manage.py makemigrations#python manage.py migrate,然后#python manage.py runserver 0.0.0.0:8000啟動后臺就會看到效果。


對于SLB和RDC都是同理,在model.py下接著編輯:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #建立負載均衡數據表 class?SLB(models.Model):?? ????env?=?( ????????(u'online','線上環境'), ????????(u'func','測試環境'), ????) ????type?=?( ????????('in','私網'), ????????('out','公網'), ????) ????algorithm?=?( ????????('加權輪詢','加權輪詢'), ????????('最小連接數','最小連接數'), ????????('輪詢','輪詢'), ????) ????protocol?=?( ????????('tcp','tcp'), ????????('http','http'), ????????('https','https'), ????) ????slb_name?=?models.CharField(verbose_name='負載均衡名稱',max_length=100) ????slb_type?=?models.CharField(verbose_name='網絡類型',max_length=30,choices=type,default='公網') ????slb_algorithm?=?models.CharField(verbose_name='轉發規則',max_length=50,choices=algorithm,default='最小連接數') ????slb_ip?=?models.GenericIPAddressField(verbose_name='ip地址') ????slb_protocol?=?models.CharField(verbose_name='負載均衡協議',max_length=50,choices=protocol)? ????slb_fport?=?models.CharField(verbose_name='前端端口',max_length=10) ????slb_bport?=?models.CharField(verbose_name='后段端口',max_length=10) ????slb_protocol1?=?models.CharField(verbose_name='負載均衡協議',max_length=50,choices=protocol,blank=True) ????slb_fport2?=?models.CharField(verbose_name='前端端口',max_length=10,blank=True) ????slb_bport2?=?models.CharField(verbose_name='后段端口',max_length=10,blank=True) ????slb_signer?=?models.CharField(verbose_name='登記人',max_length=30,default='陳男神') ????slb_signtime?=?models.DateField(auto_now_add=True)?? ????slb_remarks?=?models.CharField(verbose_name='備注',max_length=255,blank=True)?? ????def?__unicode__(self):?? ????????return?self.slb_name
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 #建立數據庫信息表 class?RDS(models.Model):?? ????#node?=?models.ForeignKey(Node,?on_delete=models.PROTECT) ????mysql?=?(?? ????????('mysql5.7','mysql5.7'), ????????('mysql5.6','mysql5.6'), ????????('mysql5.5','mysql5.5'), ????)?????? ????spec?=?( ????????????('1H1G','1H1G'),???????????? ????????('2H2G','2H2G'), ????????('2H4G','2H4G'), ????????????('4H4G','4H4G'), ????????????('4H8G','4H8G'), ????????????('其他','其他') ????) ????type?=?( ????????????('常規實例','常規實例'), ????????????('只讀實例','只讀實例'), ????) ????rds_name?=?models.CharField(verbose_name='數據庫名稱',max_length=100) ????rds_type?=?models.CharField(verbose_name='數據庫類型',max_length=100,choices=type,default='常規實例') ????rds_mysql?=?models.CharField(verbose_name='mysql版本',max_length=50,choices=mysql,default='mysql5.6') ????rds_spec?=?models.CharField(verbose_name='數據庫規格',max_length=50,choices=spec,default='1H1G') ????rds_remark?=?models.CharField(verbose_name='備注',max_length=255,blank=True) ????rds_ip?=?models.CharField(verbose_name='數據庫地址',max_length=50) ????rds_status?=?models.CharField(verbose_name='存儲空間',max_length=10,default='20G') ????rds_signer?=?models.CharField(verbose_name='登記人',max_length=30,default='system') ????rds_signtime?=?models.DateField(auto_now_add=True)?? ??? ????def?__unicode__(self):?? ????????return?self.rds_name

admin.py也要跟著在后面添加如下內容:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class?SLBAdmin(admin.ModelAdmin):? ????list_display?=?('slb_name','slb_type','slb_ip','slb_signer','slb_remarks') ????#在編輯、新增頁面上排除line_signer的選項?? ????exclude?=?['slb_signer']?? ????#對保存函數進行更改,將登錄用戶設置為登記人?? ????def?save_model(self,?request,?obj,?form,?change):?? ????????obj.slb_signer?=?str(request.user)?? ????????obj.save()?? class?RDSAdmin(admin.ModelAdmin):??? ????#在編輯、新增頁面上排除device_signer的選項 ????list_display?=?('rds_name','rds_spec','rds_ip','rds_remark','rds_signer')?? ????exclude?=?['rds_signer'] ????#對保存函數進行更改,將登錄用戶設置為登記人?? ????def?save_model(self,?request,?obj,?form,?change): ????????obj.rds_signer?=?str(request.user)??? ????????obj.save()? ????????? admin.site.register(SLB,SLBAdmin) admin.site.register(RDS,RDSAdmin)

同步升級了數據庫并且打開了前端頁面,就會看到這樣的效果:


這個時候我們就可以在網頁上添加具體的信息了,比如說增加云服務器的信息:


增加信息之后,看到的效果就是:


至此整個簡單增刪改查的數據信息庫就算完成了!



?本文轉自 蘇幕遮618 51CTO博客,原文鏈接:http://blog.51cto.com/chenx1242/1946427


總結

以上是生活随笔為你收集整理的Django运维后台的搭建之一:使用model建立数据信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲在线中文字幕 | av美女在线| 日韩精品电影一区二区 | 幸福宝在线观看 | 久久久国产精品一区 | 视频福利在线 | 澳门黄色 | 欧美日韩一区二区三区 | 男女爱爱网站 | 涩涩视频免费看 | 粉嫩视频在线观看 | 久草福利资源在线观看 | 欧美在线性爱视频 | 久久98 | 深夜网站在线观看 | 色呦呦官网 | 色婷综合 | 日韩网站免费观看高清 | 九九视频这里只有精品 | 欧美粗大猛烈老熟妇 | 亚洲精品无 | 日韩电影一区二区三区四区 | 狠狠成人 | 久久免费国产视频 | 中国男人操女人 | 成人在线国产精品 | 日韩欧美视频一区二区三区 | 国产美女永久无遮挡 | 一区二区三区不卡视频在线观看 | 国产15页 | 精品人妻一区二区三区久久夜夜嗨 | 亚洲视频黄色 | 欧美日韩在线精品 | 男人和女人做爽爽视频 | 九色综合网 | 黄色一几片 | 亚洲影视精品 | 亚洲爱爱视频 | 欧美成人小视频 | av在线播放器 | 亚洲天堂中文在线 | 亚洲日本护士毛茸茸 | 麻豆黄色网 | av第一区| 日日好av | 美女扒开尿口给男人看 | 日本高清视频www夜色资源 | 91系列在线观看 | 日韩第一页| 成人网在线播放 | 婷婷深爱激情 | 国产成人免费看一级大黄 | 国产美女主播在线 | 好看的av网址 | 91尤物视频在线观看 | 色哟哟一区二区三区四区 | 一区二区三区激情 | 欧美自偷自拍 | 日本护士做爰视频 | 男女被到爽流尿 | 巨乳在线播放 | 欧美视频亚洲 | 国产区第一页 | 国产一卡二卡三卡四卡 | 国产成人精品久久 | 国产一区二区在线免费观看视频 | 爱情岛亚洲品质自拍极速福利网站 | 一区二区免费在线观看 | 青青草婷婷| 奇米一区二区三区 | 国内自拍网站 | 高柳家在线观看 | 国产良妇出轨视频在线观看 | 国产做爰免费视频观看 | 精品欧美一区二区精品久久 | 午夜爱爱影院 | 国产精品自拍99 | 虫族全黄h全肉污文 | 蜜桃在线一区二区 | 少妇精品 | 九九三级 | 久久久久亚洲av成人片 | 日韩少妇裸体做爰视频 | 中文字幕乱码在线 | 日本精品在线一区 | 成色视频 | 香蕉视频官网 | 久久久老熟女一区二区三区91 | 久久久97| 日韩一级色 | 噼里啪啦高清 | 亚洲精品一区二区三区新线路 | 美日韩成人av | 夫妻淫语绿帽对白 | 永久久久久久久 | 成av人在线 | 国产精品无码专区av在线播放 | 九九影视理伦片 | 台湾av在线 |