介绍:本节课我们继续学习djangoWEB框架的开发,这节课主要是学习如何访问数据库,django如何自动为我们创建好表结构等相关内容。

1、首先我们打开settings.py找到DATABASES关键字,这个是配置我们的数据库。

里面的属性不做介绍了,一看就懂了。

2、添加自己的一个startapp polls,并在settings中配置。

也可以直接写'polls'

3、打开我们刚刚创建的应用polls -->models.py内容如下:

# -*- coding: utf-8 -*-
from __future__ import unicode_literals from django.db import models # Create your models here. class Test(models.Model): name = models.CharField(max_length=20) 解释:
以上的类名代表了数据库表名,且继承了models.Model,类里面的字段代表数据表中的字段(name),
数据类型则由CharField(相当于varchar)、DateField(相当于datetime), max_length 参数限定长度。

4、在pycharm中运行manage.py

成功后出现:

我们执行三条命令如下:

# 创建表结构(内置的django表结构)

manage.py@pythondjango > migrate
D:\PyCharm\bin\runnerw.exe D:\Python\python.exe D:\PyCharm\helpers\pycharm\django_manage.py migrate D:/pythondjango
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying sessions.0001_initial... OK

Process finished with exit code 0

让 Django 知道我们在我们的模型有一些变更,生成一个文件

manage.py@pythondjango > makemigrations polls
D:\PyCharm\bin\runnerw.exe D:\Python\python.exe D:\PyCharm\helpers\pycharm\django_manage.py makemigrations polls D:/pythondjango
Migrations for 'polls':
polls\migrations\0001_initial.py
- Create model Test
Following files were affected
D:\pythondjango\polls\migrations\0001_initial.py
Process finished with exit code 0

文件内容是:

# -*- coding: utf-8 -*-
# Generated by Django 1.11.3 on 2017-07-21 09:15
from __future__ import unicode_literals from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [
] operations = [
migrations.CreateModel(
name='Test',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=20)),
],
),
] 其实里面记录了数据库的一些变化

manage.py@pythondjango > migrate polls
D:\PyCharm\bin\runnerw.exe D:\Python\python.exe D:\PyCharm\helpers\pycharm\django_manage.py migrate polls D:/pythondjango
Operations to perform:
Apply all migrations: polls
Running migrations:
Applying polls.0001_initial... OK

Process finished with exit code 0

表名组成结构为:应用名_类名

注意:尽管我们没有在models给表设置主键,但是Django会自动添加一个id作为主键

操作数据库:

在urls.py中添加一个映射:

向数据库中添加一个值,修改views.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.http import HttpResponse from polls.models import Test
from django.shortcuts import render # Create your views here. # 数据库操作
def testdb(request):
test1 = Test(name='温鸿雨')
test1.save()
return HttpResponse("<p>数据添加成功!</p>") 添加成功:

总结:本节课主要分享django与mysql数据库的搭配使用,如何创建数据库表结构,settings文件中配置数据库,添加自己新创建的应用,如何在models.py中创建一个实例,属性的含义等内                容。同时借助pycharm自动生成数据库表,并且创建表结构是不需要指定主键,django会帮助我们创建一个id。在views.py中向数据库添加值的步骤。

django MVC模式 数据库的操作mysql的更多相关文章

  1. mysql数据库----python操作mysql ------pymysql和SQLAchemy

    本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy 一.pymysql pymsql是Python中操作MySQL的模块,其使用方法和MySQ ...

  2. java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据

    package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ...

  3. Flask学习笔记:数据库ORM操作MySQL+pymysql/mysql-python+SQLAlchemy/Flask-SQLAlchemy

    Python中使用sqlalchemy插件可以实现ORM(Object Relationship Mapping,模型关系映射)框架,而Flask中的flask-sqlalchemy其实就是在sqla ...

  4. MySQL数据库4Python操作mysql、索引、慢查询日志

    目录 一.Python 操作 mysql 1.1python 操作 mysql 1.2查询数据 1.3增加(添加.更新)数据 1.4修改数据 1.5删除数据 1.6SQL注入问题 1.6.1问题的引入 ...

  5. 数据库-python操作mysql(pymsql)

    pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同 一:安装pymysql pip3 install pymysql 二:使用pytmysql # -*- codin ...

  6. 在django中使用orm来操作MySQL数据库的建表,增删改

    多张表之间的三种关系:一对一,一对多,多对多 创建表 一对一 xx = models.OneToOneField(to='表明',to_field='字段名',on_delete=models.CAS ...

  7. JDBC数据库常用操作(mysql)

    JDBC英文名称:JavaDataBaseConnectivity中文名称:java数据库连接简称:JDBCJDBC是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组 ...

  8. python操作mysql数据库系列-操作MySql数据库(二)

    接口测试框架层级目录结构示意图: page目录下面的mysqlTest.py:存放的是mysql的操作代码 utils目录下面的helper.py:存放的是公共的配置方法 log目录log.md:存放 ...

  9. 数据库常用操作(mysql)

    创建 create database 库名 create table 表名(列名 type(varchar(size),int(size),decimal(size,d))) "size&q ...

随机推荐

  1. GPU编程--kernels(2)

    "如何区分不同的数据单位单位呢?" "如何确定程序是在CPU端执行,还是GPU端执行呢?" "如何确定要调用的GPU线程数呢?" 下面举一个 ...

  2. nodejs实战:使用原生nodeJs模块实现静态文件及REST请求解析及响应(基于nodejs6.2.0版本,不使用express等webMVC框架 )

    一.准备工作 1.安装nodejs 首先你需要安装nodeJs 那么nodejs官网:http://nodejs.cn/,下载相应版本,一步一步安装. 二.使用nodejs开发服务器后台应用 1.创建 ...

  3. python通过excel对数据库插入数据

    1.需要有两个包文件xlrd及MySQLdb(其他数据库可以另外找) 2.读取excel文件信息 book = xlrd.open_workbook(文件地址) 3.建立MySQL链接 databas ...

  4. Grunt压缩图片

    今天我们来说一下用Grunt来压缩图片和JS吧! 首先要安装插件: 这是压缩图片的; npm install --save-dev gulp-imagemin 这是压缩JS的: npm install ...

  5. 大数据平台搭建-zookeeper集群的搭建

    本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集 ...

  6. 高性能队列Disruptor系列3--Disruptor的简单使用(译)

    简单用法 下面以一个简单的例子来看看Disruptor的用法:生产者发送一个long型的消息,消费者接收消息并打印出来. 首先,我们定义一个Event: public class LongEvent ...

  7. Swing系列之控件一

    Swing系列之控件 JTextArea JTextArea是一个实现多行文本的控件 构造函数 JTextArea() 构造新的TextArea. JTextArea(Document doc) 构造 ...

  8. IAM

    IAM 与 权限访问控制机制 IAM , Identity and Access Management 基本概念 ARN, Amazon Resource Name : 在 AWS 里, 创建的任何资 ...

  9. 由SpringMVC中RequetContextListener说起

    零.引言 RequetContextListener从名字结尾Listener来看就知道属于监听器. 所谓监听器就是监听某种动作,在其开始(初始化)和结束(销毁)的时候进行某些操作. 由此可以猜测:该 ...

  10. Web.config 自动替换值

    开发项目中,有些可能会改变的值,如是否记录日志,记录日志路径等,我们都会配置在Web.config的<appSettings></appSettings>节点, 也比如数据库的 ...