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. Hadoop YARN上运行MapReduce程序

    (1)配置集群 (a)配置hadoop-2.7.2/etc/hadoop/yarn-env.sh 配置一下JAVA_HOME export JAVA_HOME=/home/hadoop/bigdata ...

  2. TCP加速锐速SS(ServerSpeeder)破解版一键安装

    速(serverspeeder),是一款TCP加速程序,能够增强VPS/服务器连接的稳定性,且有效的提高服务器的带宽利用率,进而提高访问速度.老左经常看到论坛.群里有用户提到锐速这款软件可以提高VPS ...

  3. C++用 _findfirst 和 _findnext 查找文件

    一.这两个函数均在io.h里面.   二.首先了解一下一个文件结构体: struct _finddata_t {     unsigned    attrib;     time_t      tim ...

  4. Java从命令行接受多个数字并求和

    一,设计思路 1,定义一个int型变量作为数字之和 2,运用for循环将字符转换成int型加到和中 3,输出和的值 二,程序流程图 三,源程序代码 //信1605-3 程浩public class J ...

  5. [转]windows环境下使用virtualenv对python进行多版本隔离

    windows环境下使用virtualenv对python进行多版本隔离 最近在用python做一个文本的情感分析的项目,用到tensorflow,需要用python3的版本,之前因为<机器学习 ...

  6. sqlalchemy操作----多表关联

    有二张表,一张作者表,一张书表,一个作者写多本书,一本书可以由多个作者写,与是通过新加一张关系表把他们联系起来 #!/usr/bin/env python # -*- coding: utf-8 -* ...

  7. 让WebBrowser在非兼容模式下运行

    32 bit: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_ ...

  8. [蓝桥杯]ALGO-79.算法训练_删除数组零元素

    从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动.注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数 ...

  9. JGit与远程仓库链接使用的两种验证方式(ssh和https)

    JGit是使用JAVA的API来操控Git仓库的库,由Eclipse公司维护.他提供的API分成两个层次,底层命令和高层命令.底层API是直接作用于低级的仓库对象,高层的API是一个面向普通用户级别功 ...

  10. 测试用例脚本,调用其他模块方法的实例(数据分类 appium 和 selenium 看这里)

    1.脚本里调用其他类里面的方法 需要把脚本里面的self.dr 传到其他类里面,其他类里面要先初始化这个self.dr 变成自己类里面的 脚本里面的dr是 appium启动的代码 dr= webdri ...