python管理数据库设计_Pycharm+Django+Python+MySQL开发 后台管理数据库

Django框架十分简单易用,适合搭建个人博客网站。网上有很多教程,大多是关于命令行操作Django,这里分享一些用最新工具进行Django开发过程,主要是PyCharm太强大,不用有点可惜。

第一次写技术开发类的博文,可能抓不到重点,详略也可能失衡,感谢支持。

环境&工具:Windows server 2012  , PyCharm 2016.2.1 , Django 1.10 , Python 2.7 , MySQL Community 5.7.14

0、创建前的配置

安装MySQL,并已设置操作密码

1、创建工程

在PyCharm 中创建新工程,选择Django 工程,输入路径和应用名称,创建工程就好

这是创建后的初始界面

2、创建、操作数据库

PyCharm 可以创建、读写数据库,不过如果想与工程相连,还是需要在工程中用代码连接,单击Database侧边栏(位置随个人喜好设置,默认在右侧),添加Database,如图(图是写博文时补的)。

填写连接信息,Database栏可以填写具体数据库名称,不填写则加载所有数据库。第一次使用PyCharm时会提示设置操作密码,填写完成可以点击“Test Connection” 测试连接情况,没有问题点击“OK”,输入操作密码即可完成连接。

左侧为MySQL目录,如果修改、查看没有找到自己的数据库,点击“more schemes”,如图

可以在命令行直接操作数据库,如图:

双击左侧“table1” ,可以图形化显示数据表。

3、在工程中创建Database,修改配置

到目前为止好像我们还没有写代码(数据库那段是展示PyCharm强大的数据库操作),和老版本不同,在修改settings.py 只需要修改数据库连接配置即可。

settings.py数据库部分修改如下:

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、生成后台管理表

在PyCharm 下方“terminal”下输入

python manage.py migrate

接下来需要创建超级用户的账号密码

python manage.py shellfromdjango.contrib.auth.models import User

user=User.objects.create_superuser('用户名','邮箱','密码')

这样我们就可以进入后台管理界面了,点击运行程序,在浏览器中输入:127.0.0.1:8000/admin

登录后可以创建用户、组,管理权限,修改密码等操作。

5、自定义显示

自定义后台的显示需要在models.py 进行修改,可以查看官方文档进行自定义配置,这里简要介绍几项常用的

#coding=UTF-8这里为方便对中文进行编译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'设备已关机'),

(u'up',u'设备开机'),

(u'avi',u'此IP未分配'),

)

MODEL_CHOICES=(

(u'fwq',u'普通服务器'),

(u'gmszx',u'高密四子星'),

(u'ups',u'UPS'),

(u'ccjd',u'存储节点'),

(u'others',u'其他'),

)

IP= models.CharField(max_length=30,help_text='Example:172.25.0.0',verbose_name='IP地址',unique=True) #unique=true则此项是全局唯一,不可以重复

STATE= models.CharField(max_length=30,verbose_name='当前状态',choices=STATE_CHOICES) #choices是以下拉菜单显示

MODEL= models.CharField(max_length=30, blank=True,verbose_name='型号',choices=MODEL_CHOICES) #verbose_name是网页的显示名称

IDD= models.CharField(max_length=30, blank=True,verbose_name='设备编号') #blank=true则可以不填写

USER= models.CharField(max_length=30, blank=True,verbose_name='设备使用者')

TEL= models.CharField(max_length=30, verbose_name='联系方式', blank=True)

LOC= models.CharField(max_length=30, blank=True,verbose_name='设备位置')

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查询'#这是表的网页显示名称

verbose_name='IP'

下面需要更新数据库

在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') #根据属性搜索

list_display=('IP','STATE','USER','TEL') #列表显示的属性

list_filter= ('STATE',) #筛选

pass

admin.site.register(Publisher,PublisherAdmin)

效果如图

修改model后都需要makemigrations命令更新数据库,不过总是报错,目前还没有搞定,所以我在修改models,比如增加列,会在数据库命令行直接使用alter命令添加,这样就不需要使用makemigrations命令。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396483.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你鼓舞了我是世界杯主题曲吗_选择方法和鼓舞人心的网站列表

你鼓舞了我是世界杯主题曲吗by Kristoffer Andreasen通过克里斯托弗安德烈森 选择方法和鼓舞人心的网站列表 (The pick and choose approach and a list of inspirational websites) In the past couple of years I have created quite a few websites. In the beginning, I h…

共享程序集GAC

原文标题: 原文地址:https://www.cnblogs.com/1996V/p/9037603.html 共享程序集GAC 我上面说了这么多有关CLR加载程序集的细节和规则,事实上,类似于mscorlib.dll、System.dll这样的FCL类库被引用的如此频繁,它已经是我…

弹簧触摸开关原理图_10年老电工经验之谈:常见的开关电源那些事儿

随着电控系统中对控制回路安全性要求提高,控制回路的工作电压是越来越趋于直流低压化。由此,控制回路内各种使用直流电源的传感器、中小微型直流继电器等电器装置是日益增多。也正因如此,电控系统内不同品牌的开关电源也相应地多了起来。因牵…

erlang mysql连接超时_Erlang数据库-(一)Erlang与Mysql的连接

下载:http://download.csdn.net/detail/hjhjava/7088277把该文件的东西全部编译好,然后根据下面的解释就可以操作Mysql的。很简单~-record(row,{a1 0, a20}).%% 第一个参数是该链接的名字(根据它来操作Mysql),第二参数是本机号(ip地址)%% &a…

SQL SERVER 中 GO 的用法2

具体不废话了&#xff0c;请看下文详解。 12345678910use db_CSharpgoselect *,备注casewhen Grade>90 then 成绩优秀when Grade<90 and Grade>80 then 成绩良好when Grade<80 and Grade>70 then 成绩及格else 不及格endfrom tb_Grade如果只是执行一条语句&…

js中判断值不等于undefined

文章&#xff1a;JS 中判断空值 undefined 和 null转载于:https://www.cnblogs.com/Tpf386/p/9804496.html

reddit_我在3天内疯狂地审查了Reddit上的50个投资组合,从中学到了什么。

redditI’ve always enjoyed critiquing applicants’ portfolios at the design studio where I work. And I also often ask for feedback on my own designs on Reddit’s webdev subreddit.我一直都很喜欢在我工作的设计工作室里评估申请人的作品集。 我也经常在Reddit的we…

【BZOJ1001】[BeiJing2006]狼抓兔子

挺简单一个题&#xff0c;最小割模板 我的感觉就是可能建图的时候会比较麻烦吧&#xff0c;毕竟三个方向。 #include <cctype> #include <climits> #include <cstdio> #include <cstring> #include <iostream>#define debug(x) std::cout <&l…

管理活动目录域服务实训_管理学院学生党支部开展实践教育基地服务活动

红星E校有态度 有温度 可关注为进一步加强党的建设&#xff0c;深化管理学院学生党支部与实践基地的互动性&#xff0c;2020年9月11至12日&#xff0c;管理学院学生党支部协助白鹤村村委实践基地完成第七次人口普查相关工作&#xff0c;共计6名预备党员参与。工作开始前的培训会…

mysql 汉编码 的选_peewee连接mysql汉语言数据编码_mysql

peewee连接mysql中文数据编码系统是win7 x64python 2.7.6的site.py里面编码设定为 utf-8py文件首行指定 #coding:utf-8mysql 5.5.38安装时指定代码为utf-8peewee的连接数据库代码为&#xff1a;db MySQLDatabase(host 127.0.0.1, user root, passwd 1, database mz, chars…

配置windows失败,还原更新,请勿关机

最近给同事装系统&#xff0c;偶尔会出现如下问题&#xff1a; 如果是这种情况&#xff0c;只能耐心等待了&#xff0c;因为关机也没用&#xff01; 转载于:https://www.cnblogs.com/lijy/p/5327844.html

使用Express和MongoDB构建简单的CRUD应用程序

by Zell Liew由Zell Liew 使用Express和MongoDB构建简单的CRUD应用程序 (Building a Simple CRUD Application with Express and MongoDB) For a long time, I didn’t dare venture into back end development. I felt intimidated because of my lack of an academic backgr…

python元类的使用_python中元类用法实例

本文实例讲述了python中元类用法&#xff0c;分享给大家供大家参考。具体方法分析如下&#xff1a;1.元类(metaclass)是用来创建类的类2.type(object):返回一个对象的类型&#xff0c;与object.__class__的值相同&#xff0c;type(name,bases,dict):创建一个新的type类型&#…

使用uicollectionView时需要注意的问题

1.UICollectionView使用流水布局——UICollectionViewFlowLayout时&#xff0c;需要满足条件&#xff1a; 每个item(即cell)的大小是一样的&#xff0c;不仅是宽度&#xff0c;还有高度。这样&#xff0c;当collectionview的宽度发生变化时&#xff0c;item能将其动态填充。ite…

hiveql函数笔记(二)

1、数据查询 //提高聚合的性能 SET hive.map.aggrtrue; SELECT count(*),avg(salary) FROM employees; //木匾不允许在一个查询语句中使用多于一个的函数&#xff08;DISTINCT。。。&#xff09;表达式 SELECT count(DISTINCT symbol) FROM stocks; 表生成函数&#xff1a; exp…

jQuery 常用的方法

<!DOCTYPE html><html lang"en"><head> <meta charset"utf-8"/> <title>品牌列表案例</title> <script src"js/jquery-2.1.1.min.js" rel"script"></script> <script…

swift 从手机选照片_19元起!定制专属手机壳!还可免费打印照片...

△剧透&#xff1a;文末有福利现在的年轻人体内涌动的都是追求有趣有特色的灵魂希望自己是这条gai最独一无二的仔撞衫撞包撞手机壳可以说是当代年轻人三大时尚忌讳尤其是手机壳极为重要毕竟换壳≈换机只需要几十元买新壳就可以拥有换新机般的仪式感不过作为手机壳老手都知道在某…

新手也能学会本地调试微信,natapp 官网映射

本地调试微信的新手指引~ 照着配置&#xff0c;一定可以配置成功&#xff0c;实现本地调试微信&#xff0c;公司好几个同事按照我写的步骤&#xff0c;都独立配成功了。 1.首选在natapp注册一个账号&#xff0c;申请免费隧道或者购买隧道&#xff0c;我买了一个月9元的付费隧道…

在JavaScript中反转字符串的三种方法

This article is based on Free Code Camp Basic Algorithm Scripting “Reverse a String”本文基于Free Code Camp基本算法脚本“ Reverse a String ” Reversing a string is one of the most frequently asked JavaScript question in the technical round of interview. …

c实现三角形角度大于一个值_初中数学三角形知识点小结

▊ 三角形两边定理&#xff1a;三角形两边的和大于第三边。推论&#xff1a;三角形两边的差小于第三边。▊ 三角形中位线定理三角形的中位线平行于第三边&#xff0c;并且等于它的一半。▊ 三角形的重心三角形的重心到顶点的距离是它到对边中点距离的2倍。在三角形中&#x…