python管理数据库设计_Pycharm+Django+Python+MySQL开发 后台管理数据库
Django框架十分簡單易用,適合搭建個(gè)人博客網(wǎng)站。網(wǎng)上有很多教程,大多是關(guān)于命令行操作Django,這里分享一些用最新工具進(jìn)行Django開發(fā)過程,主要是PyCharm太強(qiáng)大,不用有點(diǎn)可惜。
第一次寫技術(shù)開發(fā)類的博文,可能抓不到重點(diǎn),詳略也可能失衡,感謝支持。
環(huán)境&工具:Windows server 2012??, PyCharm 2016.2.1 , Django 1.10?, Python 2.7 , MySQL?Community 5.7.14
0、創(chuàng)建前的配置
安裝MySQL,并已設(shè)置操作密碼
1、創(chuàng)建工程
在PyCharm 中創(chuàng)建新工程,選擇Django 工程,輸入路徑和應(yīng)用名稱,創(chuàng)建工程就好
這是創(chuàng)建后的初始界面
2、創(chuàng)建、操作數(shù)據(jù)庫
PyCharm 可以創(chuàng)建、讀寫數(shù)據(jù)庫,不過如果想與工程相連,還是需要在工程中用代碼連接,單擊Database側(cè)邊欄(位置隨個(gè)人喜好設(shè)置,默認(rèn)在右側(cè)),添加Database,如圖(圖是寫博文時(shí)補(bǔ)的)。
填寫連接信息,Database欄可以填寫具體數(shù)據(jù)庫名稱,不填寫則加載所有數(shù)據(jù)庫。第一次使用PyCharm時(shí)會(huì)提示設(shè)置操作密碼,填寫完成可以點(diǎn)擊“Test Connection” 測(cè)試連接情況,沒有問題點(diǎn)擊“OK”,輸入操作密碼即可完成連接。
左側(cè)為MySQL目錄,如果修改、查看沒有找到自己的數(shù)據(jù)庫,點(diǎn)擊“more schemes”,如圖
可以在命令行直接操作數(shù)據(jù)庫,如圖:
雙擊左側(cè)“table1” ,可以圖形化顯示數(shù)據(jù)表。
3、在工程中創(chuàng)建Database,修改配置
到目前為止好像我們還沒有寫代碼(數(shù)據(jù)庫那段是展示PyCharm強(qiáng)大的數(shù)據(jù)庫操作),和老版本不同,在修改settings.py 只需要修改數(shù)據(jù)庫連接配置即可。
settings.py數(shù)據(jù)庫部分修改如下:
DATABASES ={'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'ip_db','USER':'root','PASSWORD':'root','HOST':'localhost','PORT':'3306',
}
}
urls.py修改如下:
from django.conf.urls import *
fromdjango.contrib import admin
admin.autodiscover()
urlpatterns=[
url(r'^admin/', admin.site.urls),
]
4、生成后臺(tái)管理表
在PyCharm 下方“terminal”下輸入
python manage.py migrate
接下來需要?jiǎng)?chuàng)建超級(jí)用戶的賬號(hào)密碼
python manage.py shellfromdjango.contrib.auth.models import User
user=User.objects.create_superuser('用戶名','郵箱','密碼')
這樣我們就可以進(jìn)入后臺(tái)管理界面了,點(diǎn)擊運(yùn)行程序,在瀏覽器中輸入:127.0.0.1:8000/admin
登錄后可以創(chuàng)建用戶、組,管理權(quán)限,修改密碼等操作。
5、自定義顯示
自定義后臺(tái)的顯示需要在models.py 進(jìn)行修改,可以查看官方文檔進(jìn)行自定義配置,這里簡要介紹幾項(xiàng)常用的
#coding=UTF-8這里為方便對(duì)中文進(jìn)行編譯from__future__ import unicode_literalsfromdjango.db import models
# Create your models here.
#-*- coding:utf-8 -*-
fromdjango.db import models
# Create your models here.classPublisher(models.Model):
STATE_CHOICES=(
(u'down',u'設(shè)備已關(guān)機(jī)'),
(u'up',u'設(shè)備開機(jī)'),
(u'avi',u'此IP未分配'),
)
MODEL_CHOICES=(
(u'fwq',u'普通服務(wù)器'),
(u'gmszx',u'高密四子星'),
(u'ups',u'UPS'),
(u'ccjd',u'存儲(chǔ)節(jié)點(diǎn)'),
(u'others',u'其他'),
)
IP= models.CharField(max_length=30,help_text='Example:172.25.0.0',verbose_name='IP地址',unique=True) #unique=true則此項(xiàng)是全局唯一,不可以重復(fù)
STATE= models.CharField(max_length=30,verbose_name='當(dāng)前狀態(tài)',choices=STATE_CHOICES) #choices是以下拉菜單顯示
MODEL= models.CharField(max_length=30, blank=True,verbose_name='型號(hào)',choices=MODEL_CHOICES) #verbose_name是網(wǎng)頁的顯示名稱
IDD= models.CharField(max_length=30, blank=True,verbose_name='設(shè)備編號(hào)') #blank=true則可以不填寫
USER= models.CharField(max_length=30, blank=True,verbose_name='設(shè)備使用者')
TEL= models.CharField(max_length=30, verbose_name='聯(lián)系方式', blank=True)
LOC= models.CharField(max_length=30, blank=True,verbose_name='設(shè)備位置')
NOTE= models.CharField(max_length=30, verbose_name='備注', blank=True)
TIME= models.DateTimeField(auto_now_add=True)
IPMI=models.CharField(max_length=30,help_text='Example:172.25.0.0',verbose_name='IPMI地址',unique=True,blank=True)classMeta:
verbose_name_plural='IP查詢'#這是表的網(wǎng)頁顯示名稱
verbose_name='IP'
下面需要更新數(shù)據(jù)庫
在terminal終端輸入以下命令
python manage.py makemigrations
python manage.py migrate
最后在admin.py中修改配置
fromdjango.contrib import admin
# Register your models here.fromdjango.contrib.auth.models import UserfromipApp.models import Publisher
#fromipApp.models import Publisher, Author, BookclassPublisherAdmin(admin.ModelAdmin):
search_fields= ('IP','STATE','MODEL','USER') #根據(jù)屬性搜索
list_display=('IP','STATE','USER','TEL') #列表顯示的屬性
list_filter= ('STATE',) #篩選
pass
admin.site.register(Publisher,PublisherAdmin)
效果如圖
修改model后都需要makemigrations命令更新數(shù)據(jù)庫,不過總是報(bào)錯(cuò),目前還沒有搞定,所以我在修改models,比如增加列,會(huì)在數(shù)據(jù)庫命令行直接使用alter命令添加,這樣就不需要使用makemigrations命令。
總結(jié)
以上是生活随笔為你收集整理的python管理数据库设计_Pycharm+Django+Python+MySQL开发 后台管理数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天线基础知识
- 下一篇: mysql 结果保存到文件_将MySQL