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. 基于MVC4+EasyUI的Web开发框架形成之旅(4)--附件上传组件uploadify的使用

    大概一年前,我还在用Asp.NET开发一些行业管理系统的时候,就曾经使用这个组件作为文件的上传操作,在随笔<Web开发中的文件上传组件uploadify的使用>中可以看到,Asp.NET中 ...

  2. JSON C# Class Generator ---由json字符串生成C#实体类的工具

    json作为互联网上轻量便捷的数据传输格式,越来越受到重视.但在服务器端编程过程中,我们常常希望能通过智能提示来提高编码效率.JSON C# Class Generator 能将json格式所表示的J ...

  3. ionic cordova platform --help

    ionic platform add android 给我报这个问题,不理解 The platform command has been renamed. To find out more, run: ...

  4. B.A.T.M.A.N

    参考: http://wiki.openwrt.org/doc/howto/mesh.batman?s[]=batmand The Better Approach To Mobile Adhoc Ne ...

  5. Hiero中的Events机制

    The hiero.core.events module allows you to register method callbacks to respond to events sent by Hi ...

  6. 开发人员行走Unix的随身四艺

    Unix系统永远只会越来越多,开发人员就没必要特意学习它们的安装.配置和管理了,就全部交给集成人员吧.     但开发人员行走于Unix之间,依然有四样东西要熟练. 一.VI     虽然Unix上的 ...

  7. [Android] Surface、SurfaceHolder与SurfaceView

    其实相当于MVC结构的三者关系:M(Surface).V(SurfaceView).C(SurfaceHolder) 1.Surface Handle onto a raw buffer that i ...

  8. [视频播放] HLS协议之M3U8、TS流详解

    本文转载自:<hls之m3u8.ts流格式详解> HLS,Http Live Streaming 是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部 ...

  9. CAD二次开发中浮动面板不浮动的问题

    CAD二次开发中创建了一个浮动面板,想让它创建出来后以浮动状态显示, 但是DockSides.None设置完后,面板还是不浮动.搞了很久,最后原来是 需要先设置Visible,再设置DockSides ...

  10. ul或者ol中添加li元素

    <!doctype html><html>    <head>        <meta charset="utf-8">      ...