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':'', }
}

urls.py修改如下:

from django.conf.urls import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = [
url(r'^admin/', admin.site.urls),
]

4、生成后台管理表

在PyCharm 下方“terminal”下输入

python manage.py migrate

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

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

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

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

5、自定义显示

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

#coding=UTF-  这里为方便对中文进行编译
from __future__ import unicode_literals from django.db import models # Create your models here.
#-*- coding:utf- -*-
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=,help_text='Example:172.25.0.0',verbose_name='IP地址',unique=True) #unique=true则此项是全局唯一,不可以重复
STATE = models.CharField(max_length=,verbose_name='当前状态',choices=STATE_CHOICES) #choices是以下拉菜单显示
MODEL = models.CharField(max_length=, blank=True,verbose_name='型号',choices=MODEL_CHOICES) #verbose_name是网页的显示名称
IDD = models.CharField(max_length=, blank=True,verbose_name='设备编号') #blank=true 则可以不填写
USER = models.CharField(max_length=, blank=True,verbose_name='设备使用者')
TEL = models.CharField(max_length=, verbose_name='联系方式', blank=True)
LOC = models.CharField(max_length=, blank=True,verbose_name='设备位置')
NOTE = models.CharField(max_length=, verbose_name='备注', blank=True)
TIME = models.DateTimeField(auto_now_add=True)
IPMI=models.CharField(max_length=,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命令。

Pycharm+Django+Python+MySQL开发 后台管理数据库的更多相关文章

  1. PyCharm Django Python 开发环境配置 详细教程

    PyCharm Django Python 开发环境配置 详细教程 1. Python 下载及安装 (1)根据需要的版本去 Python 官网(https://www.python.org/downl ...

  2. 第一篇:Win10系统搭建Python+Django+Nginx+MySQL 开发环境详解(完美版)

    Win10+Python+Django+Nginx+MySQL 开发环境搭建详解 PaulTsao 说明:本文由作者原创,仅供内部参考学习与交流,转载引用请注明出处,用于商业目的请联系作者本人. Wi ...

  3. Django Python MySQL Linux 开发环境搭建

    Django Python MySQL Linux 开发环境搭建 1.安装Python 进行Python开发,首先必须安装python,对于linux 或者Mac 用户,python已经预装. 在命令 ...

  4. Django基础-003 配置Django自带的后台管理,操作数据库

    插入测试数据,可以自己写页面来插入数据 也可以使用Django自带的后台管理,来操作数据表 1.创建用户 python manage.py createsuperuser 2.在浏览器输入地址,进入D ...

  5. Django:(博客系统)使用使用mysql数据->后台管理tag/post/category的配置

    Django后台一般是不需要人为的去开发的,因为django已经通过配置实现哪些模块是后台需要管理,如何排序,列表展示哪些列,列显示名称,是否为空(默认值),过滤条件,分页页数,列表中哪些项可编辑等等 ...

  6. Django学习day8——admin后台管理和语言适应

    Django最大的优点之一,就是体贴的为你提供了一个基于项目model创建的一个后台管理站点admin.这个界面只给站点管理员使用,并不对大众开放. 1. 创建管理员用户 (django) E:\Dj ...

  7. 使用django的admin的后台管理界面

    django的admin后台管理界面是方便我们对数据库操作的  是一个在浏览器显示的  图形化界面数据库操作 我们先在django中的admin中把我们需要在图形化界面中进行操作的表导入进去: 先把m ...

  8. python测试开发django-13.操作数据库(增删改查)

    前言 django的models模块里面可以新增一张表和字段,通常页面上的数据操作都来源于数据库的增删改查,django如何对msyql数据库增删改查操作呢? 本篇详细讲解django操作mysql数 ...

  9. Python+MySQL开发医院网上预约系统(课程设计)一

    一:开发环境的配置 1:桌面环境为cnetos7+python2.7 2:MySQL的安装与配置 1)MySQL的安装 MySQL官方文档: http://dev.mysql.com/doc/mysq ...

随机推荐

  1. BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第10章节--SP2013中OAuth概览 总结

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第10章节--SP2013中OAuth概览  总结         SP2013中的OAuth提供了很多新的集成SP On ...

  2. [更新Github地址]python学习,自己写了个简单聊天工具mychat

    最近在学习python,自己写了个最最简单的聊天工具mychatv0.1. 第一版,完成基本的聊天功能. GUI用的是自带的TKinter,用到的模块主要就是socket(网络编程), thread( ...

  3. extjs grid 列顺序紊乱问题

    这个问题描述类似 关于extjs表格列展示顺序问题 明明在columns定义好了,理应按照里面的顺序输出嘛,但偏不,原本应该列在第一位的,结果忽而在最后,忽而在中间,忽忽何所似,天地一狗屎. 在谷歌里 ...

  4. String StringBuffer StringBuilder 对比

      1.StringBuffer是线程安全的,StringBuilder是非线程安全的   2.对String的修改其实是new了一个StringBuilder并调用append方法,然后调用toSt ...

  5. spring 简述

    Spring的发展 1.1. Spring1.x 时代 在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和x ...

  6. YTU 2574: 空白格式化

    2574: 空白格式化 时间限制: 1 Sec  内存限制: 128 MB 提交: 233  解决: 118 题目描述 恭喜你进入了蓝桥杯总决赛,本次大赛采用了全自动机器测评系统. 如果你的答案与标准 ...

  7. sphinx源码分析总结

    http://www.cnblogs.com/bonelee/p/6667955.html shinx索引部分源码分析——过程:连接到CSphSource对应的sql数据源,通过fetch row取其 ...

  8. mac系统下安装mysql步骤

    1.下载mysql-5.7.13-osx10.11-x86_64.dmg安装包,并点击dmg安装包进行安装 2.安装完成后弹出如以下提示信息: 2016-06-23T01:14:48.649253Z ...

  9. STM32F4 DMA2D_R2M

    图像处理的专门DMA 看一段示例代码 /** * @brief Displays a line. * @param Xpos: specifies the X position. * @param Y ...

  10. Pessimistic Offline Lock悲观离线锁

    每次只允许一个业务事务来访问数据,以防止并发业务事务中的冲突. 离线并发处理通常会出现多个业务事务操作同一数据. 最简单的办法是为整个业务事务保持一个系统事务.但是事务系统不适合于处理长事务. 首选乐 ...