Django App(二) Connect Mysql & defualt App admin
这一篇接着上一篇polls App自动创建admin app.
1.安装数据库
这里的内容从官网看越看越像 EntityFramework的内容.Python支持SQLite,MySql,Oracle,PostgreSQL,官网提供的例子连接的是Sqlite数据库,这篇将基于Mysql
首先查看MySql服务命令在前面的随笔中提到过:http://www.cnblogs.com/andayhou/p/8277364.html,在Terminal 中执行:

开启mysql57服务:

新打开一个cmd程序,切换到Mysql57的安装目录,打开Mysql数据库:

查看所有数据库:

创建本篇需要的数据库:myDataBase

2.Python 绑定数据库
Django 支持5.5及以上的Mysql数据库版本,本篇使用的Mysql版本是5.7.20,django,需要通过pip安装mysqlclient,terminal输入如下命令(pip的安装在本系列的第一篇有提到):
>pip install mysqlclient

配置Mysql连接地址,firstPro/settings.py
DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
#以上是django默认配置的sqlite数据库
'default':{
'ENGINE':'django.db.backends.mysql',
'NAME':'mydatabase', #数据库需要提前建
'USER':'root',
'PASSWORD':'',
'HOST':'localhost',
'PORT':''
}
}
根据变更集,初始化程序,执行如下命令:
>python manage.py migrate
django会根据配置信息,初始化程序环境,在上面我们配置了默认数据为mysql,django的默认app为admin,执行上面的命令,django连接配置的数据库,创建app admin或者django所要求的表,打开myDatabase就能发现这些表:

接下来我们创建app polls 所要求创建的数据表
3.创建Models
根据业务需要需要创建两个实体类Question,和Choice,编辑polls/models.py如下:
from django.db import models class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published') class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
在firstPro/settins.py添加app polls的配置,告知项目polls为已安装的app

初始化app polls的变更集
输入如下命令:
>python manage.py makemigrations polls

在firstPro\polls\migrations\路径下生成了一个新文件 0001_initial.py,这个命名为0001的文件中,已经生成好了对应数据库的字段名称,类型,以及约束等,下面执行的命令将生成Question和Choice两张表:
>python manage.py sqlmigrate polls 0001

在执行一次 >python manage.py migrate初始化项目运行环境
>python manage.py migrate
打开mysql 查看数据表:

4.创建项目系统用户
利用django默认app admin创建系统超级用户,执行以下命令:
>python manage.py createsuperuser
username:>admin
Email address:> remih@qq.ccom
Password: >**********
Password (again):> *********
启动站点:
>python manage.py runserver #默认启动是localhost:8000
浏览器中输入http://localhost:8000/admin(这个路由在上节中配置过的)

在admin 下没有看到关于Question和Choice 数据表的维护

打开polls/admin.py注册数据表(或者实体类)
from django.contrib import admin #引入的默认ajango app admin
from .models import Question
from .models import Choice
admin.site.register(Question) #注册实体Question
admin.site.register(Choice)

重新刷新界面http://localhost:8000/admin/,你会发现,Question的编辑界面,没有列出问题的内容,为了方便添加数据polls/admin.py编辑如下[在这个系列第6篇将探讨,改造默认app admin]:
from django.contrib import admin
from .models import Question
from .models import Choice
# admin.site.register(Question) #注释掉这里的信息
# admin.site.register(Choice)
class ChoiceInLine(admin.TabularInline):
model = Choice
extra = 2
class QuestionAdmin(admin.ModelAdmin):
list_display = ('question_text','pub_date','was_published_recently')
fidldsets=[
(None,{'fields':['question_text']}),
('Date Infomation',{'fileds':['pub_date'],'class':['collage']})
]
inlines = [ChoiceInLine] admin.site.register(Question,QuestionAdmin)
通过上面的界面就可以维护项目用户和项目表了,界面的操作结果保存是保存到数据库的
备注: django连接mysql数据库参考http://blog.csdn.net/it_dream_er/article/details/52092262
但是博客中提到的通过pip 安装 pymysql(python3以上的版本安装的是pymysql,python3 以下的版本安装的是 mySqldb),至少在django 2.0.1上不是必须的
Django App(二) Connect Mysql & defualt App admin的更多相关文章
- [App Store Connect帮助]七、在 App Store 上发行(2.2)设定价格与销售范围:将您的 App 以预订形式发布
在首次将您的 App 发布至 App Store 前,您可以选择以预订形式提供该 App.在您的 App 发布以供下载之前,顾客可以查看您的产品页并订购您的 App.您的 App 一旦发布,顾客将会收 ...
- [App Store Connect帮助]五、管理构建版本(1)上传构建版本概述
在您添加 App 至您的帐户之后,您可以使用 Xcode 或 Application Loader 来上传构建版本.稍后,您可以随着您 App 的更改上传更多构建版本.分发构建版本以供测试,或提交您的 ...
- [App Store Connect帮助]四、添加 App 图标、App 预览和屏幕快照(2)添加一个 App Store 图标
您必须提供一个 App Store 图标,用于在 App Store 中的不同部分展示您的 App.请遵照 Human Interface Guidelines(<人机界面准则>)创建您的 ...
- [App Store Connect帮助]四、添加 App 图标、App 预览和屏幕快照(1)App Store 图标、App 预览和屏幕快照概述
您可以为您的 App Store 产品页提供有关您 App 的 App Store 图标.三个 App 预览和十张屏幕快照. App Store 图标 您必须提供一个 App Store 图标,用于在 ...
- [App Store Connect帮助]三、管理 App 和版本(2.6)输入 App 信息:新增 watchOS App 信息
如果您的 iOS App 中包含 watchOS App,请确保您的描述中包含该 App 在 Apple Watch 上的功能.您还需要为 Apple Watch 的 App Store 提供额外的屏 ...
- [App Store Connect帮助]一、 App Store Connect 使用入门(4)iOS 版 App Store Connect
通过 iOS 版 App Store Connect,您可以在移动设备上查看销售数据.App 元数据和顾客评论.您还可以检查 App 状态.发布您 App 的新版本并回应“Resolution Cen ...
- [App Store Connect帮助]一、 App Store Connect 使用入门(1)App Store Connect 工作流程
您使用 App Store Connect 提交并管理您在 App Store 中销售的 App,使用 TestFlight 分发您 App 的 Beta 版本,接受法律协议,输入您的税务和银行业务信 ...
- Django实现自定义template页面并在admin site的app模块中加入自定义跳转链接
在文章 Django实现自定义template页面并在admin site的app模块中加入自定义跳转链接(一) 中我们成功的为/feedback/feedback_stats/路径自定义了使用tem ...
- Django(二)创建app,设置相关后台
location 最后一个文件夹名就是project名,我用了DjangoProject. Application 是自动加入的APP名字,我用了DjangoTest 1.添加APP在pycharm的 ...
随机推荐
- bzoj 4446: [Scoi2015]小凸玩密室
Description 小凸和小方相约玩密室逃脱,这个密室是一棵有n个节点的完全二叉树,每个节点有一个灯泡.点亮所有灯 泡即可逃出密室.每个灯泡有个权值Ai,每条边也有个权值bi.点亮第1个灯泡不需要 ...
- bzoj 4765: 普通计算姬
Description "奋战三星期,造台计算机".小G响应号召,花了三小时造了台普通计算姬.普通计算姬比普通计算机要厉害一些 .普通计算机能计算数列区间和,而普通计算姬能计算树中 ...
- [知了堂学习笔记]_用JS制作《飞机大作战》游戏_第1讲(素材查找和界面框架搭建)
一.查找素材: 二.分析游戏界面框架: 登录界面.游戏界面.暂停游戏界面.玩家死亡后弹出界面:并对应的界面包含什么元素: 三.分别搭建以上四个界面: 1.登录界面与游戏界面框架(隐藏游戏界面,四个界面 ...
- Java NIO (三) 通道(Channel)
通道(Channel):由 java.nio.channels 包定义的,Channel 表示 IO 源与目标打开的连接.Channel 类似于传统的"流",只不过 Channel ...
- 基于POI和DOM4将Excel(2007)文档写进Xml文件
刚进公司的training, 下面是要求: Requirements Write a java program to read system.xlsx Use POI API to parse all ...
- 使用trim_galore软件遇到的问题
我的原始测序数据是双端测序,在用trim_galore软件去接头的这一步,使用的命令行是 time nohup trim_galore R17002628-SKOV3-m6A_combined_R1. ...
- 【http转https】其之一:腾讯云 DV SSL证书申请实验
文:铁乐猫 2016年1月 前言 大概2017年12月28日左右公司提出以后需要将公司网站由http提升到https级别,以便谷歌和火狐浏览器将之认定为安全网站. 主要是出于客户.用户那边用火狐或谷歌 ...
- KD树
k-d树 在计算机科学里,k-d树( k-维树的缩写)是在k维欧几里德空间组织点的数据结构.k-d树可以使用在多种应用场合,如多维键值搜索(例:范围搜寻及最邻近搜索).k-d树是空间二分树(Binar ...
- python的time模块常用内置函数
1.Python time time()方法 Python time time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数). time()方法语法: time.time() 举例: #! ...
- Java编程思想读书笔记(一)【对象导论】
2018年1月7日15:45:58 前言 作为学习Java语言的经典之作<Java编程思想>,常常被人提起.虽然这本书出版十年有余,但是内容还是很给力的.很多人说这本书不是很适合初学者,我 ...