Pycharm+Django+Python+MySQL开发 后台管理数据库

来源:互联网 发布:keynote for mac 6.1 编辑:程序博客网 时间:2024/06/16 16:21

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

创建前的配置

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

创建工程

在PyCharm 中创建新工程,选择Django 工程,输入路径和应用名称,创建工程就好
这里写图片描述

这是创建后的初始界面

这里写图片描述

创建、操作数据库

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

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

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

这里写图片描述

接下来需要创建超级用户的账号密码
依次在PyCharm的控制台下输入如下3个命令:

python manage.py shell  from django.contrib.auth.models import User  user=User.objects.create_superuser('用户名','邮箱','密码')  

这里写图片描述

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

登录后可以创建用户、组,管理权限,修改密码等操作。
这里写图片描述

自定义显示

自定义后台的显示需要在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) 

效果如图
这里写图片描述

这里写图片描述

这里写图片描述

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

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 lol美服更新慢怎么办 魔域密码忘了怎么办 魔域账号忘记了怎么办 魔域91密码忘了怎么办 魔域人数满了怎么办 部队玩手机被逮怎么办 脑子很笨怎么办17岁 跑步心肺功能差怎么办 剧烈运动后恶心想吐怎么办 运动后头晕想吐怎么办 跑步后反胃想吐怎么办 长跑后恶心想吐怎么办 离职前请假不批怎么办 酷派x7无限重启怎么办 钢铁雄心3资源多怎么办 汽车智能钥匙没电了怎么办 辐射3食物有辐射怎么办 辐射3玩起来很卡怎么办 辐射3多余的瓶盖怎么办 辐射4开锁太快怎么办 极度恐慌3没子弹怎么办 辐射3道德值低怎么办 辐射3任务做完了怎么办 极限竞速6闪退怎么办 两个睾丸都碎了怎么办 快递退回去了钱怎么办 想登录老公微信怎么办 养狗家里味道大怎么办 实在不想养狗了怎么办 培训完不想干了怎么办 干了几天想离职怎么办 药流开始流血了怎么办 药流期间同房了怎么办 想学韩语可是没基础怎么办 鞋子多买了一双怎么办 胳膊抻着了怎么办妙招 胳膊抻筋了 很疼怎么办 干活胳膊抻筋了怎么办 胳膊上的筋扭了怎么办 一岁宝宝脖子歪怎么办 3岁宝宝轻微斜颈怎么办