django MVC模式 数据库的操作mysql
介绍:本节课我们继续学习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的更多相关文章
- mysql数据库----python操作mysql ------pymysql和SQLAchemy
本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy 一.pymysql pymsql是Python中操作MySQL的模块,其使用方法和MySQ ...
- java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据
package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ...
- Flask学习笔记:数据库ORM操作MySQL+pymysql/mysql-python+SQLAlchemy/Flask-SQLAlchemy
Python中使用sqlalchemy插件可以实现ORM(Object Relationship Mapping,模型关系映射)框架,而Flask中的flask-sqlalchemy其实就是在sqla ...
- MySQL数据库4Python操作mysql、索引、慢查询日志
目录 一.Python 操作 mysql 1.1python 操作 mysql 1.2查询数据 1.3增加(添加.更新)数据 1.4修改数据 1.5删除数据 1.6SQL注入问题 1.6.1问题的引入 ...
- 数据库-python操作mysql(pymsql)
pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同 一:安装pymysql pip3 install pymysql 二:使用pytmysql # -*- codin ...
- 在django中使用orm来操作MySQL数据库的建表,增删改
多张表之间的三种关系:一对一,一对多,多对多 创建表 一对一 xx = models.OneToOneField(to='表明',to_field='字段名',on_delete=models.CAS ...
- JDBC数据库常用操作(mysql)
JDBC英文名称:JavaDataBaseConnectivity中文名称:java数据库连接简称:JDBCJDBC是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组 ...
- python操作mysql数据库系列-操作MySql数据库(二)
接口测试框架层级目录结构示意图: page目录下面的mysqlTest.py:存放的是mysql的操作代码 utils目录下面的helper.py:存放的是公共的配置方法 log目录log.md:存放 ...
- 数据库常用操作(mysql)
创建 create database 库名 create table 表名(列名 type(varchar(size),int(size),decimal(size,d))) "size&q ...
随机推荐
- hdu4638
hdu4638 题意 给定一个序列,序列由1-N个元素全排列而成,求任意区间可组成的连续的段数,比如[1,2,4]两段{[1,2],[4]},[1,2,4,3]一段{[1,2,3,4]}. 对于查询的 ...
- 写了一个Mac快速设置、打开和关闭Web代理的Shell命令
缘由(痛点) 每次在Mac上设置Web代理,都需要点开"系统偏好设置 -- 网络 -- 高级 -- 代理",然后分别设置Web代理(HTTP)和安全Web代理(HTTPS),设置完 ...
- Asp.Net页面传值的方法简单总结【原创】
1.QueryString 当页面上form按照get的方式向页面发送请求数据的时候,web server会将请求数据放入 一个QEURY_STRING的环境变量中,然后通过QeueryString方 ...
- 织梦dedecms后台发布文章提示“标题不能为空”
问题症状:V5.7登录后台后,发布英文标题没问题,发布中文会提示“标题不能为空”. 问题根源:htmlspecialchars在php5.4默认为utf8编码,gbk编码字符串经 htmlspecia ...
- [Leetcode] Sort, Hash -- 274. H-Index
Given an array of citations (each citation is a non-negative integer) of a researcher, write a funct ...
- js实现htmlToWordDemo
之前由于工作需要,需要实现将html内的一部分内容直接转为word和pdf的功能.就研究了一下方法并且实现了两个demo.今天先说一下html to word(才疏学浅,仅供交流,如有错误,请指出). ...
- scrapy中的下载器中间件
scrapy中的下载器中间件 下载中间件 下载器中间件是介于Scrapy的request/response处理的钩子框架. 是用于全局修改Scrapy request和response的一个轻量.底层 ...
- Feign使用Hystrix无效原因及解决方法
最近项目重构使用了Spring Boot和Spring Cloud.这两者结合确实给项目带来了方便,同时也遇到了一些问题.其中使用feign作为服务消费,但是断路器hystrix一直不起作用让人很费解 ...
- CoolBlog开发笔记第3课:创建Django应用
教程目录 1.1 CoolBlog开发笔记第1课:项目分析 1.2 CoolBlog开发笔记第2课:搭建开发环境 前言 经过上一节我们已经创建了CoolBlog工程,但是关于CoolBlog的功能代码 ...
- 中国省市区地址三级联动jQuery插件 案例下载
中国省市区地址三级联动jQuery插件 案例下载 distpicker 是一款可以实现中国省市区地址三级联动jQuery插件.它使用简单,简单设置即可完成中国省市区地址联动效果. 安装 可以通过npm ...