仰天大笑出门去,我辈岂是蓬蒿人。这篇文章主要讲述59Django基础三件套, 模板{{}}语言 , 程序连mysqlDjango项目appDjango中ORM的使用相关的知识,希望能为你提供帮助。
主要内容:
1 form表单中提交数据的三要素
form标签必须要有action和method的属性
所有获取用户输入的标签必须放在form表单里,也必须要有那么name属性.因为往后端提交数据的时候name所对应的是关键字, input输入的值为value.在后端显示为字典的模式, 如果不写name关键字,则取不到值.
必须要有submit按钮.
2 Django 基础三件套
from Django.shortcuts import HttpResponse, render, redirect
1. HttpResponse
返回一个指定的字符串
2. render
返回一个html文件
3. redirect
跳转一个页面(redirect(‘/index/‘))
3 request 相关的属性
request.method
返回的是请求的方法(全大写):
GET/POST
request.GET
取的是url里面的参数,类似于字典的数据结构
request.POST
post提交的数据, 类似于字典的数据结构
4 Django的模板语言
{{变量名}}
< div class="form-group"> < div class="col-sm-9"> < button type="submit" id="b1" class="btn btn-block btn-primary"> 登录< /button> < p style="color: indianred; "> {{ error_msg }}< /p> < /div> < /div>
5 程序连mysql
使用pyMmysql模块
导入pymysql模块----> 创建连接-------> 获取执行命令的游标------> 用游标去执行sql语句---> 获取sql语句的执行结果------> 关闭游标 -------> 关闭连接
创建一种工具 可帮助翻译sql语句 ---> ORM(object Relationship Model )
优点: 开发效率高, 开发不用直接写sql语句
【59Django基础三件套, 模板{{}}语言 , 程序连mysqlDjango项目appDjango中ORM的使用】缺点: 执行效率低
ORM 与 mysqldb的关系
类 -------- 数据表
属性 -------- 字段
对象 -------- 数据行
6 Django项目app: 项目中又分了一级python包, 不同的功能放在不同的包里面
1 创建app: python manage.py startapp01
2 告诉Django创建了一个app:在setting.py找INSTALL_APPS中添加新创建的app
‘app01.apps.App01Config‘,
3 Django中ORM的使用:
用处: 操作数据表, 操作数据行
使用:
1 手动创建一个数据库: create database 数据库名字
2 告诉django连那个数据库:
在setting配置文件中设置
DATABASES = { ‘default‘: { ‘ENGINE‘: ‘django.db.backends.mysql‘,# 连接数据库的类型 ‘NAME‘: ‘mysite‘,# 数据库名 ‘HOST‘: ‘127.0.0.1‘,# 数据库主机地址 ‘PORT‘: 3306,# 数据库的端口 ‘USER‘: ‘root‘, ‘PASSWORD‘: ‘‘, }
3 用什么连接数据库:
利用第三方的包, 比如第三方包: pymysql和MYSQLdb
告诉Django用的pymysql模块代替默认的MYSQLdb去连接数据库,方法: 修改和setting同级的__init__.py文件,写上
import pymysql pymysql.install_as_MySQLdb()
4 在app/models.py的文件中创建类
类必须继承models.Model
from django.db import models# Create your models here. class User(models.Model): id = models.AutoField(primary_key=True)# 创建一个自增的id作为主键 email = models.CharField(max_length=24)#---> varchar(24) pwd = models.CharField(max_length=16)
5 另外的两个命令:
1. python manage.py makemigrations--> 找个小本本把models.py的变更记录一下 2python manage.py migrate--> 把上面的变更记录翻译成SQL语句,去数据库执行
推荐阅读
- create-react-app使用less
- Android Studio 3.0找不到Android Device Monitor
- Jenkins Android gradle只能打包app-release-unsigned.apk
- Android事件分发机制浅析
- Android TV 开发
- Android Studio 使用Intent实现页面的跳转(带参数)
- 搭建Android浏览器壳子
- APP高级抓包
- App软件的类型