django项目

安装:

创建项目

配置(setting,static,csrf)

创建app,python manage.py startapp app1

三部分

urls.py路由配置

1,普通正则

2分组正则

传位置参数:url(r'^blog/(\d+)/',views.blog)

3分组命名(得到的是关键字参数)

url(r'^blog/(?P<year>(\d+)/',views.blog'))    视图函数要传参blog(request,year)

4用name指定别名

url(r'^blog/$', views.blog, name='blog') 这里我们使用别名来进行反向解析,为了得到动态的HTML页面跳转效果

html里面:{%url 'blog'%}

views函数里面from django.urls import reverse

函数返回值里面return reverse("blog")

5使用命名空间  以下网址前缀就会有blog

url(r'^blog/', include(app1.urls,namespace='num1' 2017 12))  这里也牵涉到反向解析 后边两个参数 是app1的url 的传参

HTML里面{% url 'num1:blog'%}   url后面空一格写单引号,引号里面写namespace然后冒号name

views里面:from django.urls import reverse 
返回值return redirect(reverse("num1:blog",arg=(2017,12))) views.py request对象 response对象 FBV和CBV 模板语言 {{变量}} {{变量.}}如果变量是一个字典,我们直接使用这样的方法去取值 {%for%}循环 {%endfor%}结束循环 {%if%}判断
{% esle %} {%endif%}结束判断 过滤器(filter) {{变量名|filter_name:参数}} {{时间对象|date:'Y-m-d'}} {%url%} {%load static%} {%static 'img/1.png'%} 母板,继承,块,组件 连接数据库(orm) 五步四部分 1创建数据库 2在app下的models.py里面创建model类,继承models.Model 3.在setting.py里面配置数据库连接信息 4在项目project的init里面写上import pymysql, pymysql.install_as_mysqldb() # 这一句使用我们的pycharm会自动补全,有提示信息 5,发命令 python manage.py makemigrations # 收集变更 python manage.py migrate # 翻译成sql语句执行 四部分 models.py django pymysql mysql orm:类 数据表 类的属性 数据列 (表里面的字段) 对象 数据行 对表格进行增删改查: 查: models.类名,objects.all() 取到所有的数据是一个列表 [取不到值是不会报错的,就显示为空] models.类名,objects.get() 取到一个对象[特点是取不到值就会报错] mo
. 老师编辑功能写完

    1. magic2函数 --> 用两层for循环解决 全栈8期之殇 问题
2. 模板语言 in 语法
{% if xx in xx_list %}
{% endif %} 搜索框(pymysql LIKE %)
pymysql like查询 拼接占位符时注意的情况 2. Django再次入门
内容回顾
HTTP请求的本质: 1. socket server是启动的 bind((ip, port)) accept
2. 浏览器(socket 客户端)输入 域名 回车
2.1. 解析域名 -> IP和端口 --> 建立连接
2.2 发GET请求 b'GET / HTTP/1.1\r\nhost:127.0.0.1:8000\r\n\k2:v2r\n\r\n请求体'
2.3 发POST请求 b'POST / HTTP/1.1\r\nhost:127.0.0.1:8000\r\n\k2:v2r\n\r\n?name=alex&age=18'
3. 服务端 接收数据
4. 解析数据, 拿到URL、请求的方法等等 --> 处理数据
5. 给浏览器发送 响应 消息 --> b'HTTP/1.1 200 OK\r\nContent-Type:text/html; charset=utf-8\r\nk2:v2\r\n\r\n响应体'
6. 浏览器断开此次连接 Django 常用命令
django-admin startproject s8 --> 执行这条命令的目录下创建了一个项目
cd s8
python manage.py runserver IP:port (目前阶段)Django新建项目要做的事儿:
settings.py
1. 注释csrf那一行 2. 配置Templates模板(HTML文件)的目录
1. 1.8版本的设置 3. 配置静态文件(js、CSS、img、插件等)的路径
1. 外号/别名 --> 在HTML页面上用
2. 静态文件存放的真实目录
Django内容:
APP
URLConf

dels.类名.objects.exclude(条件)  得到除了这个条件的其他的结果

models.类名.objects.first()

models.类名.objects.last()

增加:

一种方式:

models.类名.objects.create(name='peter')

一种方式:

obj = models.类名(name='peter')

obj.save()

删除:

models.类名,objects.filter(age=19).delete()

修改:

models.类名.objects.filter(age=90).update(name='greate')

单个对象是不能够调用update的[只有jQueryset才可以调用update方法]

update()方法对于任何结果集queryset均有效,这意味着我们可以同时更新多条记录update返回的是一个整型数据类型,表示受影响的条数

我们的对象要想使用修改操作只能够使用下面的方式直接赋值

obj=models.类名.objects.get(id=1)

obj.name='green'

obj.save()

day 67 django orm的基础的更多相关文章

  1. 【python】-- Django ORM(基础)

    Django ORM(基础) Django 框架十分强大,自带数据库操作功能.Django 跟 SQLAchemy 一样,也是通过ORM(Object Relational Mapping,关系对象映 ...

  2. day 67 django 之ORM 基础安装

    一 ORM的基础部分 1 ORM的概念 对象关系映射(Object Relational Mapping(映射),简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 2   ...

  3. Django ORM --- 建表、查询、删除基础

    1.什么是ORM ORM的全称是Object Relational Mapping,即对象关系映射.它的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发人员就可以把对数据库的 ...

  4. Django ORM模型的一点体会

    作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 使用Python的Django模型的话,一般都会用它自带的ORM(Object-relational ma ...

  5. Django ORM那些相关操作

    一般操作 https://docs.djangoproject.com/en/1.11/ref/models/querysets/         官网文档 常用的操作 <1> all() ...

  6. Django ORM模型:想说爱你不容易

    作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 使用Python的Django模型的话,一般都会用它自带的ORM(Object-relational ma ...

  7. 《玩转Django2.0》读书笔记-Django建站基础

    <玩转Django2.0>读书笔记-Django建站基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网站的定义及组成 网站(Website)是指在因特网上根据一 ...

  8. 关于orm 的基础3 day67

    day67 ORM 特殊的语法 一个简单的语法 --翻译成--> SQL语句 语法: 1. 操作数据库表 创建表.删除表.修改表 2. 操作数据库行 增.删.改.查 怎么连数据库: 需要手动创建 ...

  9. Django ORM那些相关操作zi

    Django ORM那些相关操作   一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs) ...

随机推荐

  1. Android -------- MVC,MVP 和 MVVM 架构设计模式

    MVC(Model-View-Controller)是最常见的软件架构之一,业界有着广泛应用.它本身很容易理解,但是要讲清楚,它与衍生的 MVP 和 MVVM 架构的区别就不容易了. 一.MVC MV ...

  2. vs2013添加mysql对EF的支持(转+说明)

    在vs2013中使用mysql连接entityFramework经常会遇到这个问题:您的项目引用了最新实体框架:但是,找不到数据连接所需的与版本兼容的实体框架数据提供程序.请退出此向导,安装兼容提供程 ...

  3. LoveIsIntheAir模板换背景

    /*simplememory*/#google_ad_c1, #google_ad_c2 {display:none;}.LoveIsIntheAir a, .LoveIsIntheAirdiv, . ...

  4. Arthur and Brackets CodeForces - 508E (贪心,括号匹配)

    大意: n个括号, 位置未知, 给出每对括号左右间距, 求输出一个合法括号序列. 最后一个括号间距一定为1, 从右往左遍历, 每次括号划分越小越好. #include <iostream> ...

  5. 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest J - Jealousy

    题意:有n张照片,每张照片上有一些妹子,要按照片顺序给妹纸安排男朋友,如果妹纸i安排的男朋友之前有女朋友,那么费用+wi,求总费用最小,和输出路径 题解:费用流,先把照片天数建点i连i+1,流量k(最 ...

  6. 【PowerDesigner】【9】禁止Name与Code同步

    问题:修改了某个字段的name,其code也跟着修改 步骤:Tools→General Options..→Dialog→取消勾选“Name to Code mirroring”复选框 参考博客: 1 ...

  7. DOM与document的区别

    DOM: DOM 全称是 Document Object Model,也就是文档对象模型. DOM 就是针对 HTML 和 XML 提供的一个API.什么意思?就是说为了能以编程的方法操作这个 HTM ...

  8. 媒体查询漫谈——@media Queries

    通过不同的媒体类型和条件定义样式表规则.媒体查询让CSS可以更精确作用于不同的媒体类型和同一媒体的不同条件.媒体查询的大部分媒体特性都接受min和max用于表达”大于或等于”和”小与或等于”.如:wi ...

  9. csu oj 1342: Double

    Description 有一个由M个整数组成的序列,每次从中随机取一个数(序列中每个数被选到的概率是相等的)累加,一共取N次,最后结果能被3整除的概率是多少? Input 输入包含多组数据.     ...

  10. java XML(可扩展标记语言)

    XML 是EXtensible Markup Language的缩写,它是一种类似于HTML的标记语言,称为可扩展标记语言,传输数据而不是显示数据,可以自定义标签,具有自我描述性是一种通用的数据交换格 ...