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

环境&工具: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命令。

  • 6
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: Python是一种高级编程语言,它具有简单易学、功能强大和可扩展性等特点。Django是一个Python的Web框架,它提供了许多工具和库,帮助我们更快速地开发Web应用程序。PyCharm是一种Python开发环境,它提供了丰富的功能,帮助我们更有效地编写、调试和管理Python代码。MySQL是一种流行的关系型数据库管理系统,它可以与PythonDjango结合使用,用于存储和管理数据。 PythonDjango的结合可以帮助我们快速、高效地开发Web应用程序。Django提供了许多功能强大且易于使用的模块和工具,包括URL路由、模板引擎、表单处理、用户认证等。使用Django,我们可以快速地建立数据库模型、处理用户请求和生成网页模板等。 PyCharm作为一个Python开发环境,提供了很多方便的功能。例如,它可以自动补全代码、提供调试器和错误检查工具,还可以集成版本控制系统等。使用PyCharm,我们可以更高效地编写、调试和管理Python代码。 MySQL是一个功能强大的关系型数据库系统。它可以与PythonDjango结合使用,用于存储和管理数据。我们可以使用PythonMySQL驱动程序连接到MySQL数据库,并执行诸如插入、更新和查询等操作。在Django中,我们可以使用它的ORM(对象关系映射)功能,通过类和对象的方式来操作数据库,这样可以更方便地进行数据库操作。 总的来说,PythonDjangoPyCharmMySQL是一组强大的工具,它们的结合可以极大地提高我们开发Web应用程序的效率和质量。无论是初学者还是有经验的开发者,都可以借助这些工具来快速构建功能完善、易于维护的Web应用程序。 ### 回答2: Python是一种高级编程语言,广泛用于Web开发、数据处理、人工智能等领域。它的语法简洁、易于学习,因此备受开发者的喜爱。 Django是一个基于Python的Web框架,它提供了许多开发Web应用所需的功能和工具,如URL路由、模板引擎、表单处理等。使用Django可以快速搭建稳定、安全且易于维护的Web应用。 PyCharm是一款强大的Python集成开发环境(IDE),它提供了许多便捷的功能,如代码自动补全、调试器、版本控制工具等。使用PyCharm可以提高开发效率,减少错误。 MySQL是一种流行的关系型数据库管理系统。它使用结构化查询语言(SQL)作为操作语言,可以存储和管理大量结构化数据。Python通过各种数据库接口可以与MySQL进行连接,方便地进行数据读写操作。 结合PythonDjangoPyCharmMySQL,我们可以快速开发高效的Web应用。首先,使用PyCharm创建Django项目,然后在项目中编写Python代码和Django的相关配置,实现业务逻辑、URL路由等功能。通过Django的模板引擎,我们可以方便地渲染动态页面。同时,通过MySQL存储数据,我们可以使用Django提供的ORM工具进行数据库操作,使数据的读写更加简洁和安全。 总的来说,PythonDjangoPyCharmMySQL是一组强大的工具和技术,它们的结合可以帮助开发者快速构建高效、安全的Web应用,并进行灵活的数据操作。 ### 回答3: Python是一种高级编程语言,它具有简单易学、功能强大和灵活的特点。它被广泛应用于Web开发、数据分析、人工智能等领域。而Django是一个基于Python的开源Web框架,它提供了一套完整的开发工具和规范,可以帮助开发者快速搭建高效、稳定的Web应用。 PyCharm是一种Python开发环境,它提供了丰富的代码编辑、调试和自动完成等功能,使开发过程更加便捷和高效。它可以与Django框架完美集成,提供强大的开发支持。 MySQL是一种流行的关系型数据库管理系统,它可以存储和管理大量的结构化数据,如用户信息、商品数据等。Python可以通过MySQL数据库驱动程序进行与数据库的交互操作。使用PythonMySQL可以实现数据的读取、插入、更新和删除等操作,为Web应用提供持久化的数据存储。 在使用Python开发Django应用时,可以借助PyCharm进行代码编辑和调试,并利用MySQL作为后台数据库进行数据存储和管理。PyCharm提供了强大的代码自动完成、语法检查和调试功能,可以大大提升开发效率和代码质量。同时,使用MySQL作为数据库可以保证数据的稳定性和安全性,满足对数据管理的需求。 总之,PythonDjangoPyCharmMySQL是一套非常强大的开发工具组合,可以帮助开发者高效、稳定地实现Web应用的开发和数据管理。通过它们的结合使用,可以快速搭建出高质量的Web应用,并实现与数据库的数据交互操作。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值