这一篇接着上一篇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的更多相关文章

  1. [App Store Connect帮助]七、在 App Store 上发行(2.2)设定价格与销售范围:将您的 App 以预订形式发布

    在首次将您的 App 发布至 App Store 前,您可以选择以预订形式提供该 App.在您的 App 发布以供下载之前,顾客可以查看您的产品页并订购您的 App.您的 App 一旦发布,顾客将会收 ...

  2. [App Store Connect帮助]五、管理构建版本(1)上传构建版本概述

    在您添加 App 至您的帐户之后,您可以使用 Xcode 或 Application Loader 来上传构建版本.稍后,您可以随着您 App 的更改上传更多构建版本.分发构建版本以供测试,或提交您的 ...

  3. [App Store Connect帮助]四、添加 App 图标、App 预览和屏幕快照(2)添加一个 App Store 图标

    您必须提供一个 App Store 图标,用于在 App Store 中的不同部分展示您的 App.请遵照 Human Interface Guidelines(<人机界面准则>)创建您的 ...

  4. [App Store Connect帮助]四、添加 App 图标、App 预览和屏幕快照(1)App Store 图标、App 预览和屏幕快照概述

    您可以为您的 App Store 产品页提供有关您 App 的 App Store 图标.三个 App 预览和十张屏幕快照. App Store 图标 您必须提供一个 App Store 图标,用于在 ...

  5. [App Store Connect帮助]三、管理 App 和版本(2.6)输入 App 信息:新增 watchOS App 信息

    如果您的 iOS App 中包含 watchOS App,请确保您的描述中包含该 App 在 Apple Watch 上的功能.您还需要为 Apple Watch 的 App Store 提供额外的屏 ...

  6. [App Store Connect帮助]一、 App Store Connect 使用入门(4)iOS 版 App Store Connect

    通过 iOS 版 App Store Connect,您可以在移动设备上查看销售数据.App 元数据和顾客评论.您还可以检查 App 状态.发布您 App 的新版本并回应“Resolution Cen ...

  7. [App Store Connect帮助]一、 App Store Connect 使用入门(1)App Store Connect 工作流程

    您使用 App Store Connect 提交并管理您在 App Store 中销售的 App,使用 TestFlight 分发您 App 的 Beta 版本,接受法律协议,输入您的税务和银行业务信 ...

  8. Django实现自定义template页面并在admin site的app模块中加入自定义跳转链接

    在文章 Django实现自定义template页面并在admin site的app模块中加入自定义跳转链接(一) 中我们成功的为/feedback/feedback_stats/路径自定义了使用tem ...

  9. Django(二)创建app,设置相关后台

    location 最后一个文件夹名就是project名,我用了DjangoProject. Application 是自动加入的APP名字,我用了DjangoTest 1.添加APP在pycharm的 ...

随机推荐

  1. Python列表list对象方法总结

  2. Web API系列之三 基本功能实现

    Web API系列之二讲解了如何搭建一个WebApi的基架,本文主要在其基础之上实现基本的功能.下面开始逐步操作: 一.配置WebApi的路由-用于配置外部如何访问内部资源的url的规则 1.添加Gl ...

  3. python爬取大众点评

    拖了好久的代码 1.首先进入页面确定自己要抓取的数据(我们要抓取的是左侧分类栏-----包括美食.火锅)先爬取第一级分类(美食.婚纱摄影.电影),之后根据第一级链接爬取第二层(火锅).要注意第二级的p ...

  4. 找回Git中丢失的Commit

    在使用Git的过程中,有时候会因为一些误操作,比如reset.rebase.merge等.特别是在Commit之后又执行了git reset --hard HEAD强制回滚本地记录以及文件到服务器版本 ...

  5. vlc源码研究

    有位传说中的大神告诉我,我的p2p打洞打不通是因为,sdp描述信息中的地址不对 也就是IN IP4 XXX.XXX.X.XXX这一句 我看到确实是个局域网地址,那么vlc在接收到IN IP4 XXX. ...

  6. linux上查找文件存放地点和文件中查找字符串方法

    一.查找文件存放地点 1.locate 语法:locate <filename> locate命令实际是"find -name"的另一种写法,但是查找方式跟find不同 ...

  7. [js高手之路] vue系列教程 - 事件专题(4)

    本文主要讲解事件冒泡,事件绑定的简写,事件默认行为,按键码等一系列与事件相关的知识. 一.事件绑定的简写,@事件类型.  之前我的[js高手之路] vue系列教程 - vue的事件绑定与方法(2) 用 ...

  8. linux下的磁盘挂载

    将新的磁盘安装在服务器上后,怎么挂载到现在的服务器上呢? 1.查询是否已经分配磁盘 fdisk -l 这里因为测试,只是挂载了10G的硬盘 2.发现有磁盘/dev/sdb.然后使用fdisk命令建立分 ...

  9. MVC异步加载学习笔记

    一.普通的异步请求 1.View层 <input type="text" id="Name" value="" placeholder ...

  10. 局域网中间人:MITMf使用

    系统环境:kali 安装流程参考github官方地址:https://github.com/byt3bl33d3r/MITMf/wiki/Installation 安装相关依赖: apt--dev l ...