day67
1 orm 创建表,新增字段,修改,删除字段,不能创建数据库
-字段属性phone=models.CharField(max_length=64,null=True)
-null=True 代表该列可以为空
2 数据的增删改查
-增(1):User.objects.create(address='')
-增(2):实例化产生一个user对象,user对象的save方法
-删:User.objects.filter(id=1,name='lqz').first().delete()
-删:User.objects.filter(id=1,name='lqz').delete()
-改:User.objects.filter(id=1,name='lqz').update()
-查:User.objects.all()
user=User.objects.filter(name='lqz')
user.name
3 前后台交互
-id=1&name='lqz'&
<form action="/updateuser/?id={{ user.id }}" method="post">
<p><input type="hidden" name="id" value="{{ user.id }}"></p>
<p>用户名: <input type="text" name="name" value="{{ user.name }}"></p>
<p>密码: <input type="text" name="password" value="{{ user.password }}"></p>
<p>地址: <input type="text" name="addr" value="{{ user.address }}"></p>
<input type="submit" value="提交">
</form>
4 django生命周期
5 一对多,多对多
-publish_id
-publish=models.ForeignKey(to='Publish', to_field='id')
book.publish_id
book.publish
多对多:(自动创建第三张表)
authors = models.ManyToManyField(to='Author')
1 简单配置
-第一个参数是正则表达式(如果要精准匹配:'^publish/$')
-第二个参数是视图函数(不要加括号)
-url(r'^admin/', admin.site.urls),
2 无名分组
-按位置传参
-分组之后,会把分组出来的数据,当位置参数,传到视图函数,所以,视图函数需要定义形参
-url(r'^publish/([0-9]{4})/([0-9]{2})$', views.publish),
-def publish(request,*args): 视图函数可以这样接收
3 有名分组
-按关键字传参
-有名分组之后,会把分组出来的数据,当关键字参数,传到视图函数,所以,视图函数需要定义形参,形参名字要跟分组的名字对应,与顺序无关
-url(r'^publish/(?P<year>[0-9]{4})/(?P<mounth>[0-9]{2})/$', views.publish),
-def publish(request, mounth,year):
*****有名分组和无名分组,不要混用
4 反向解析
-先命一个名:
-1 无参数:url(r'^publishadd133/$', views.publishadd,name='ddd'),
-2 无名分组:url(r'^publishadd/([0-9]{4})/([0-9]{2})/$', views.publishadd,name='ddd'),
-3 有名分组:url(r'^publishadd/(?P<year>[0-9]{4})/(?P<mounth>[0-9]{2})/$', views.publishadd,name='ddd'),
-在模板层:
-1 无参数:{% url 'ddd' %}
-2 无名分组的:{% url 'ddd' 2018 12 %}
-3 有名分组:{% url 'ddd' 2018 12 %} 还可以 {% url 'ddd' year=2018 mounth=12 %}
-在视图层:
from django.shortcuts import reverse
在视图函数里:
1 无参数:url=reverse('ddd')
1 无名分组:url=reverse('ddd',args=(2018,12,))
1 有名分组:url=reverse('ddd',args=(2018,12,)) 还可以 url=reverse('ddd',kwargs={'year':2018,'mounth':12})
5 路由分发
1 在不同的app里创建urls.py
2 在总路由
-from django.conf.urls import include
-url(r'^blog/',include('blog.urls')),
-url(r'^app01/',include('app01.urls')),
3 在不同的app的urls里配置路由关系
***重点***总路由,不能加结束符$
6 名称空间
-url(r'^blog/',include('blog.urls',namespace='blog')),
-子路由:url(r'^publish/$', views.publish,name='test'),
-反向解析:
-视图层:url = reverse('blog:test')
-模板层:{% url 'app01:test'%}
***一般不要用***
子路由:url(r'^publish/$', views.publish,name='app01_test'),
7 伪静态
-路由:url(r'^book/(?P<id>\d+.html)',views.book),
-访问:http://127.0.0.1:8000/book/4.html
day67的更多相关文章
- day67 ORM模型之高阶用法整理,聚合,分组查询以及F和Q用法,附练习题整理
归纳总结的笔记: day67 ORM 特殊的语法 一个简单的语法 --翻译成--> SQL语句 语法: 1. 操作数据库表 创建表.删除表.修改表 2. 操作数据库行 增.删.改.查 怎么连数据 ...
- 关于orm 的基础3 day67
day67 ORM 特殊的语法 一个简单的语法 --翻译成--> SQL语句 语法: 1. 操作数据库表 创建表.删除表.修改表 2. 操作数据库行 增.删.改.查 怎么连数据库: 需要手动创建 ...
- python 全栈开发,Day67(Django简介)
昨日内容回顾 1. socket创建服务器 2. http协议: 请求协议 请求首行 请求方式 url?a=1&b=2 协议 请求头 key:value 请求体 a=1&b=2(只有p ...
- day67 crm(4) stark组件的增删改 以及 model_from使用和from组件回顾
前情提要:Django stark 组件开发的 增删改, model_form组件的使用 form组件的回顾 一:list_display_link 创建 功能描述: 使包含的字段能 ...
- 《从零开始学Swift》学习笔记(Day67)——Cocoa Touch设计模式及应用之MVC模式
原创文章,欢迎转载.转载请注明:关东升的博客 MVC(Model-View-Controller,模型-视图-控制器)模式是相当古老的设计模式之一,它最早出现在Smalltalk语言中.现在,很多计算 ...
- Django基础——模板层(template) (Day67)
阅读目录 变量 标签 自定义过滤器和标签 模板层(template) 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. 1 2 3 4 ...
- 《从零開始学Swift》学习笔记(Day67)——Cocoa Touch设计模式及应用之MVC模式
原创文章,欢迎转载.转载请注明:关东升的博客 MVC(Model-View-Controller,模型-视图-控制器)模式是相当古老的设计模式之中的一个,它最早出如今Smalltalk语言中. 如 ...
- (day67)组件、组件化、组件传参、JS补充(命名转换、for in 、数据转换)、css取消选中和模拟小手
目录 一.初识组件 (一)概念 (二)特点 二.组件的分类 (一)根组件 (二)局部组件 (三)全局组件 二.数据组件化 三.组件的传参 (一)父传子 (二)子传父 四.JS补充 (一)与html命名 ...
- (day67)作业
有以下广告数据(实际数据命名可以略做调整) ad_data = { tv: [ {img: 'img/tv/001.png', title: 'tv1'}, {img: 'img/tv/002.png ...
随机推荐
- JAVA 并发:CLH 锁 与 AbstractQueuedSynchronizer
首先向Doug Lea致敬. CLH 以下是CLH锁的一个简单实现: class SimpleCLHLock { /** * initialized with a dummy node */ priv ...
- angular.js 教程 -- 实例讲解
angular.js AngularJS [1] 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.Ang ...
- 关于Mysql数据库的知识总结
2017年6月8日,天气阴.心情晴. 连续做梦两个晚上了,昨晚竟然梦见一个很长时间不联系的初中同学了,早上上班的路上聊了聊.女孩现在出差在贵州,风景秀美的地方.我说“你现在生活很滋润”.女孩说“那是你 ...
- jQuery操作table数据上移、下移和置顶
jQuery 操作table中的tr换行的步骤如下: 1.获取当前tr var $tr = $(this).parents("tr"); 2.移动tr //上移 $tr.prev( ...
- JavaSE——多线程实现的两种方式
Thread类: 创建新执行线程有两种方法. 一种方法是将类声明为 Thread 的子类.该子类应重写 Thread 类的 run 方法.接下来可以分配并启动该子类的实例.例如,计算大于某一规定值的质 ...
- ionic 上拉菜单(ActionSheet)安装和iOS样式不一样
ISO中的界面是这样的: 然而,Android中的界面是这样的: 代码如下: HTML部分: <body ng-app="starter" ng-controller=&qu ...
- 关于form表单提交到Servlet的时候出现tomcat启动错误的解决方法
1.遇到的问题 今天在写jsp代码的时候通过form表单提交到Servlet的时候出现的tomcat启动错误,琢磨了半天,终于找到了解决方法. 解决问题的关键就在于xml配置的路径和servlet中默 ...
- Mongodb的入门(6)副本集
Mongodb的副本集:(有两种情况,主从复制,副本集) 这次我来说一下mongodb的副本集,副本集的出现可以有效的保证mongodb的单点问题,对数据的稳健性有一定辅助作用: MongoDB复制: ...
- hibernate数据库操作基础
1.根据主键查询 2.getSession().createSQLQuery(sql)和session.createQuery(sql) 3.Seeion的其他方法 4.Hibernate Crit ...
- Linux 同步时间 设置时区
简化版 同步时间 #直接用域名同步中国上海时间 ntpdate -u ntp.api.bz # hwclock --hctosys 或者 # clock --hctosys hc代表硬件时间,sys代 ...