59 Django基础三件套 , 模板{{}}语言 , 程序连mysql Django项目app Django中ORM的使用

主要内容:https://www.cnblogs.com/liwenzhou/p/8688919.htmlhtml

1 form表单中提交数据的三要素python

  a : form标签必需要有action和method的属性mysql

  b : 全部获取用户输入的标签必须放在form表单里,也必需要有那么name属性.由于日后端提交数据的时候name所对应的是关键字, input输入的值为value.在后端显示为字典的模式, 若是不写name关键字,则取不到值.sql

  c : 必需要有submit按钮.数据库

2 Django 基础三件套django

  from Django.shortcuts import HttpResponse, render, redirect后端

    a. HttpResponse ('ok')          返回一个指定的字符串(把字符串的ok转换成二进制, 而后按照http的响应格式返回)浏览器

    b. render (requst, 'login.html')                                             返回一个html文件(打开html文件,读取内容,按照响应格式返回)数据结构

          render(request, 'login.html', {'key':'value'})               打开html文件,读取内容,替换特殊符号,按响应格式返回app

    c. redirect ('/index/')                                                             跳转一个页面(redirect('/index/'))

       redirect('http://luffycity.com')                                   让浏览器访问我指定的网址     

    

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

  a : 使用pyMmysql模块

    导入pymysql模块----> 建立链接-------> 获取执行命令的游标------>用游标去执行sql语句--->获取sql语句的执行结果------> 关闭游标 -------> 关闭链接

  b : 创 建一种工具  可帮助翻译sql语句 ---> ORM(object Relationship Mapping )对象关系映射. 

    优势: 开发效率高,  开发不用直接写sql语句

    缺点: 执行效率低

  c : 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的变动记录一下
2  python manage.py migrate          --> 把上面的变动记录翻译成SQL语句,去数据库执行