1 安装:

  pip  install django==1.11.9

另外:在pycharm中安装 django,在下图中七步走

2. 新建Django项目
   django-admin startproject 项目名

3. Django 设置 settings.py文件中
  1. 注释掉 csrf相关的那一行(大概是46行!)
  2. 配置html文件相关
  3. 配置静态文件相关 /static/

4. 基础必备的三件套
  1. HttpResponse --> 字符串
  2. render() --> HTML文件 --> 打开HTML文件并且完成字符串的替换
  3. redirect(“/book_list/”) --> 跳转

5. HTML页面中form表单提交数据三个要点:
  1. input一定要放在form表单里面,并且 input 要有name属性
  2. form表单里面触发提交操作 一定要有submit按钮!!! <input type="submit" value="提交">
  3. 要指定form表单提交的URL(action属性) 并且指定提交的方法(method属性)

Django中操作MySQL数据库的准备工作:
  1. 自己用SQL语句建个数据库 --> create database s20;
  2. 告诉Django去哪儿连数据库
    在settings.py文件中设置:
    DATABASES = {
      'default': {
      'ENGINE': 'django.db.backends.mysql', # 告诉Django连接数据库的类型
      'NAME': 's20',
      'HOST': "127.0.0.1",
      'PORT': 3306, # 不要加引号
      'USER': "root",
      "PASSWORD": "123456", # 要加引号
      }
    }
  3. MySQLdb、pymysql,告诉Django使用pymysql连接MySQL数据库

  project/__init__.py文件中:
  import pymysql
  pymysql.install_as_MySQLdb()

4. 在app/models.py文件中,根据特定的语法 创建类
  class Book(models.Model):
  # 定义一个自增的ID主键
  id = models.AutoField(primary_key=True)
  # 定义一个最大长度为32的varchar字段
  title = models.CharField(max_length=32)

5. 执行两个命令
  1. python manage.py makemigrations --> 记录 app/models.py文件的任何改动
  2. python manage.py migrate --> 把上面的改动翻译成SQL语句,然后去数据库中执行

对数据的增删改查

        1. 增
Book.objects.create(title="书名",....)
2. 删
models.Book.objects.get(id=2).delete()
3. 改
obj = models.Book.objects.get(id=1)
obj.title = "字段2"
obj.save() --> 把改动同步到数据库中!!!
4. 查
查单个:
obj = models.Book.objects.get(id=1) 查所有:
objs = models.Book.objects.all()

django的模型层 -ORM简介

ORM,全称是object relation mapping 对象关系映射

主要学习的是Mysql

在py文件中可以使用pymysql来操作mysql

ORM的映射关系如下

          ORM引擎
python ---------------> sql 类名 表名
属性变量 字段
属性值 约束条件 对象 一条记录

ORM的特点

1 符合python语法
2 自己写的sql语句,效率不高。
3 将用户的sql转换成mysql的相关语句,需要一个翻译的过程

想要查看ORM的命令转换可以在settings下面加入

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console':{
'level':'DEBUG',
'class':'logging.StreamHandler',
},
},
'loggers': {
'django.db.backends': {
'handlers': ['console'],
'propagate': True,
'level':'DEBUG',
},
}
}

使用命令

python manage.py makemigrations

python manage.py migrate

就可以看到命令的详细转换了

django总结 --》内容(django建project开始的大致流程、ORM简介)的更多相关文章

  1. python学习笔记--Django入门三 Django 与数据库的交互:数据建模

    把数据存取逻辑.业务逻辑和表现逻辑组合在一起的概念有时被称为软件架构的 Model-View-Controller (MVC)模式.在这个模式中, Model 代表数据存取层,View 代表的是系统中 ...

  2. 全面解读Python Web开发框架Django,利用Django构建web应用及其部署

    全面解读Python Web开发框架Django Django是一个开源的Web应用框架,由Python写成.采用MVC的软件设计模式,主要目标是使得开发复杂的.数据库驱动的网站变得简单.Django ...

  3. Django初级之django简介

    1.Django简介 Django是Python语言中的一个web框架,Python语言中主流的web框架有Django.Tornado.Flask 等多种.Django相较与其它WEB框架,其优势为 ...

  4. Django框架02 /Django下载安装、url路由分发

    Django框架02 /Django下载安装.url路由分发 目录 Django框架02 /Django下载安装.url路由分发 1. django下载安装 2. pycharm创建项目 3. 基于D ...

  5. 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...

  6. [Django高级]理解django中的中间件机制和执行顺序

    原文来自 Understanding Django Middlewares, 这篇文章从整体上介绍了django中中间件定义,作用,和怎么样自己写中间件 –orangleliu. 注:middlewa ...

  7. web框架开发-Django模型层(1)之ORM简介和单表操作

    ORM简介 不需要使用pymysql的硬编码方式,在py文件中写sql语句,提供更简便,更上层的接口,数据迁移方便(有转换的引擎,方便迁移到不同的数据库平台)…(很多优点),缺点,因为多了转换环节,效 ...

  8. python django基础四 ORM简介

    ORM,全称是object relation mapping.翻译过来,就是对象关系映射. 主要来学习MySQL操作,MySQL是一个软件.它的优点:1.免费 2.开源 pymysql,就是Mysql ...

  9. python 全栈开发,Day70(模板自定义标签和过滤器,模板继承 (extend),Django的模型层-ORM简介)

    昨日内容回顾 视图函数: request对象 request.path 请求路径 request.GET GET请求数据 QueryDict {} request.POST POST请求数据 Quer ...

随机推荐

  1. [C#]async和await刨根问底

    上一篇随笔留下了几个问题没能解决:· 调用IAsyncStateMachine.MoveNext方法的线程何时发起的?· lambda的执行为何先于MoveNext方法?· 后执行的MoveNext方 ...

  2. 网易云课堂js学习笔记

    javascript:用来在页面中编写特效的,和html/css一样都是由浏览器解析的 javascript语言: 一.js如何运行的(javaScript,jscript,vbscript,appl ...

  3. django get post files请求知识点

    GET: 我们在浏览器里直接键入地址回车,这种方式其实也是get方式提交了数据,如: http://localhost/login?user=123&pwd=123  就是把用户名123密码1 ...

  4. .net core 连接sql server 时提示Connection Timeout Expired

    .net core开发环境是ubuntu LINUX, 在ubuntu 上 telnet 数据库IP 端口是通的. SQL SERVER 是2008 ,未打SP补丁. 打完 SQL SERVER  2 ...

  5. vlan交换机的端口模式有哪几种

    一 端口类型1 ,Access用户模式2 ,Trunk链路模式3 ,Hybrid模式(跟Trunk很类似但比trunk高级)二 端口介绍2.1 ,Access类型端口:只允许默认vlan的以太网帧,也 ...

  6. python 正则表达提取方法 (提取不来的信息print不出来 加个输出type 再print信息即可)

    1,正则表达提取 (findall函数提取) import re a= "<div class='content'>你大爷</div>"x=re.finda ...

  7. Java NIO系列教程(二) Channel通道介绍及FileChannel详解

    目录: <Java NIO系列教程(二) Channel> <Java NIO系列教程(三) Channel之Socket通道> Channel是一个通道,可以通过它读取和写入 ...

  8. 第一天课程:第一个python程序print say hello

    print("Hello World") linux下要加可执行权限 chmod 755 hello.py 权限755,7=4+2+1,4是读,2是写,1是执行,第一个7代表用户, ...

  9. Django简介及Django项目的创建详述

    Django简介 Django是一个开源的Web应用框架,由Python写成.但是,百度百科中讲它采用了MVC框架模式,其实这个解释不准确. 确切的讲,Django的模式是:路由控制+MTV模式.所谓 ...

  10. Linux 防火墙和SELinux的开启和关闭

    防火墙(firewalld) 临时关闭防火墙 systemctl stop firewalld 永久防火墙开机自关闭 systemctl disable firewalld 临时打开防火墙 syste ...