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#:匿名类型

    匿名类型和var关键字是Visual C# 3.0提供的一个新特性,var是隐式类型而并不是类型javascript中的var. var user = new { Id = 1, Name = &qu ...

  2. [转]【NLP】干货!Python NLTK结合stanford NLP工具包进行文本处理 阅读目录

    [NLP]干货!Python NLTK结合stanford NLP工具包进行文本处理  原贴:   https://www.cnblogs.com/baiboy/p/nltk1.html 阅读目录 目 ...

  3. Python初学注意问题

    本文是看到的,然后结合自己之前学习的过程也碰到的问题,所以就引用过来了:http://www.cnblogs.com/walkingp/p/3261663.html 一.注意你的Python版本 Py ...

  4. IIS APK MIME

    点击新建-填写扩展名和MIME类型 .apk application/vnd.android.package-archive

  5. phoenix初步

    更新系统包管理工具hex mix local.hex 安装phoenix,phoenix是elixir的web框架 mix archive.install https://github.com/pho ...

  6. 在CAD二次开发中使用状态条按钮

    Pane pane = new Pane(); pane.Enabled = true; pane.Text = "状态条按钮"; pane.ToolTipText = " ...

  7. 在vue项目中 获取容器的高度

    左右并列两个容器,左边的不固定高度,右侧的高度要和左边的高度一致, var offsetHeight = $('.left).outerHeight(); $('.right').outerHeigh ...

  8. Importing multi-valued field into Solr from mySQL using Solr Data Import Handler

    http://stackoverflow.com/questions/20233837/importing-multi-valued-field-into-solr-from-mysql-using- ...

  9. Javascript中的this(七)

    一.为什么要用this      通过this可以在不同的上下文对象中重复使用函数 二.this是什么      this就是我们说的执行上下文(包含调用栈(哪里被调用).函数的调用方式.传入的参数等 ...

  10. kafka服务自动关闭

    解决方法: kafka启动的时候添加守护进程 bin/kafka-server-start.sh -daemon ./config/server.properties & 问题原因: 待补充. ...