python开发小型数据库_Pycharm+Django+Python+MySQL开发 后台管理数据库

环境&工具:Mac pro + python3.6.2 + PyCharm2017.1.2 + Mysql5.7 + Django2.1

创建前的配置

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

创建工程

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

FjTjswO7qil80lhHYFV8QwjuLIKW

这是创建后的初始界面

FssYSnb_2eJl3G5JUMh-x4Y3Km_d

创建、操作数据库

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

FjiaHJB0tlJKT1ZTdGPN2InYwQsf

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

FvDkHAm6-8bgKhg1tiq5jqMZcjiI

在工程中创建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 *

from django.contrib import admin

admin.autodiscover()

urlpatterns = [

url(r"^admin/", admin.site.urls),

]

生成后台管理表

在PyCharm 下方“terminal”下输入

python3 manage.py migrate

FsyA6XGqBnlOtYqatqIKIT4NgqG2

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

依次在PyCharm的控制台下输入如下3个命令:

python manage.py shell

from django.contrib.auth.models import User

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

FmxQTBOGYygHS7NrGvW92codTD-Y

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

FvYJhbtvw-ZouUklbc3dYEh5Oh1M

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

FlGy4l32u3LsXnd3iLhvRaR5g4ZK

自定义显示

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

#coding=UTF-8 这里为方便对中文进行编译

from __future__ import unicode_literals

from django.db import models

# Create your models here.

#-*- coding:utf-8 -*-

from django.db import models

# Create your models here.

class Publisher(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)

class Meta:

verbose_name_plural="IP查询" #这是表的网页显示名称

verbose_name="IP"

下面需要更新数据库

在terminal终端输入以下命令

python manage.py makemigrations

python manage.py migrate

最后在admin.py中修改配置

from django.contrib import admin

# Register your models here.

from django.contrib.auth.models import User

from ipApp.models import Publisher

#from ipApp.models import Publisher, Author, Book

class PublisherAdmin(admin.ModelAdmin):

search_fields = ("IP","STATE","MODEL","USER") #根据属性搜索

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

list_filter = ("STATE",) #筛选

pass

admin.site.register(Publisher,PublisherAdmin)

效果如图

FgM1qTRaoNncSqx83YAi89Tu0RIc

FrGmmuYiatYppwVDeCXZR5oOAALL

Fm3YmwGtJKUAqVGxIoMiL5tptNb0

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值