django 笔记3
FBVfunction base viewurl.pyindex -> 函数名view.pydef 函数(requset):...CBVclass base view/index/ -》 函数名/index/ -> 类 方法 ###################################### from django.views import View class Home(View):def dispatch(self, request, *args, **kwargs):#调用父类中的dispatch 此方法可以类比为装饰器print('before')result = super(Home,self).dispatch( request, *args, **kwargs)print('after')return resultdef get(self,request):print(request.method)return render(request,'home.html')def post(self,request):print(request.method)return render(request, 'home.html') ####################################################请求头 Request URL:http://127.0.0.1:8000/home/? Request Method:GET Status Code:200 OK Remote Address:127.0.0.1:8000############################################ from django.conf.urls import url from app01 import views urlpatterns = [path('admin/', admin.site.urls),url(r'^index/', views.index),url(r'^login/', views.login),url(r'^home/', views.Home.as_view()) ] ############################################ dispatch()方法 用来反射找到get/post方法5.装饰器路由系统 ########################################{% for y in user_dict.values %} {% for y in user_dict.keys %} {% for x,y in user_dict.items %}<li>{{y}}</li>{% endfor %}python for i in user_dict.keys():python for i in user_dict.values():python for i,j in user_dict.items():路由系统,URL1、url(r'^index/', views.index), url(r'index/', Views.Home.as_view()), /*from django.views import View*/2、url(r'^index-(\d+).html', Views.detail), 正则 一类 url对应一个函数 开发了个查看详细页面def detail(request, nid):detail_info = USER_DICT[nid]return render(request,'detail.html', {'detail_info':detail_info})3、分组 根据?P<nid>url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail), #分组def detail(request, nid, uid): (#?P<nid>\d+) (?P<uid>\d+) 此时就与nid uid存放位置无关啦passdef detail(request, *args, **kwargs): #这就可以表示多个值传递 如果按顺序就放在args 为元组 如果传nid 就放在 kwargs 为字典return HttpResponse(kwargs['nid'])实战:a: url(r'^detail-(\d+)-(\d+).html', views.detail),def func(request, nid, uid):passb: url(r'^detail-(\d+)-(\d+).html', views.detail),def func(request,*args):return HttpResponse(args[1])c: url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail),def func(request, *args,**kwargs):kwargs = {'nid':1, "uid":2}4、 name 对URL路由关系进行命名,****** 以后可以根据此名称生成自己想要的URL *****a: <form action="{% url 'indexx' %}" method="POST">url(r'^index/', views.index, name='i1')b: url(r'^cc/(\d+)/(\d+)' , views.index, name='i2'),c: url(r'^dd/(?P<nid>\d+)/(?P<uid>\d+)' , views.index, name='i3'),def func(request, *args, **kwargs):from django.urls import reverseurl1 = reverse('i1') #index/url2 = reverse('i2', args=(1, 2,)) #cc/1/2url3 = reverse('i3', kwargs={"nid":1,"uid":2,}) dd/1/2模板语言xxx.html{% url "i1" %} #index/{% url 'i2' 1 2 %} #cc/1/2{% url nid=1 uid=2 %} #dd/1/2模板语言:{% url "indexx" %}{% url "indexx" 2 %}注:request.path_info 为当前的url {{ request.path.info }}5、url的分发一级路径 主目录下 urls.pyfrom django.contrib import adminfrom django.conf.urls import url,includeurlpatterns = [url(r'^cmdb/', include("app01.urls")),url(r'^db/', include("app02.urls")),]在app01下创建一个urls.py 二级路径from django.contrib import adminfrom django.conf.urls import url,includefrom app01 import viewsurlpatterns = [url(r'^login/', views.login),]
转载于:https://www.cnblogs.com/Liang-jc/p/9175570.html
django 笔记3相关推荐
- Django 笔记6 -- 多表查询
Django 笔记6 – 多表查询 Django 系列笔记是笔者学习.实践使用 Django 的相关笔记,大量参考了知了课堂的<Django零基础到项目实战>教程. 参考文档: Djang ...
- Django 笔记5 -- 数据库
Django 笔记5 – 数据库 Django 系列笔记是笔者学习.实践使用 Django 的相关笔记,大量参考了知了课堂的<Django零基础到项目实战>教程. 参考文档: Django ...
- Django 笔记4 -- 模板
Django 笔记4 – 模板 Django 系列笔记是笔者学习.实践使用 Django 的相关笔记,大量参考了知了课堂的<Django零基础到项目实战>教程. 参考文档: Django官 ...
- Django 笔记3 -- URL
Django 笔记3 – URL Django 系列笔记是笔者学习.实践使用 Django 的相关笔记,大量参考了知了课堂的<Django零基础到项目实战>教程. 参考文档: Django ...
- Django 笔记2 -- Django 项目
Django 笔记2 – Django 入门 Django 系列笔记是笔者学习.实践使用 Django 的相关笔记,大量参考了知了课堂的<Django零基础到项目实战>教程. 参考文档: ...
- Django 笔记1 -- 环境搭建
Django 笔记1 – 环境搭建 Django 系列笔记是笔者学习.实践使用 Django 的相关笔记,大量参考了知了课堂的<Django零基础到项目实战>教程. 参考文档: Djang ...
- Django笔记-5-视图
2019独角兽企业重金招聘Python工程师标准>>> Django笔记-5-视图 概述 作用 视图接受web请求, 并相应web请求; 本质 视图就是一个Python中的函数 相应 ...
- Django笔记-实现用户退出登录(logout)
Django笔记-实现用户的登出 Django logout()方法介绍: 一.登录login(user,request): 将通过认证的用户的唯一标识信息(主键id),通过哈希加密写入到当前sess ...
- Django笔记总结
1.web框架的本质 web通信流程 web我们这里指的就是通过浏览器去访问服务端,请求页面或者数据的通信方式,属于B/S架构.就是我们常见的网站.浏览器与服务端的通信流程:浏览器客户端发送一个请求信 ...
- Django笔记七之ManyToMany和OneToOne介绍
ManyToMany 是一种多对多的关系,在用途和使用方法上和外键 ForeignKey 类似. 以下是本篇笔记的目录: ManyToMany 的介绍 through 参数 through_field ...
最新文章
- 使用Python和OpenCV实现超快速,简单的伽玛校正功能
- 如何使用netwokx进行复杂网络的中心性分析?
- tf.clip_norm
- Spring Ioc源码分析 之 Bean的加载(5):循环依赖处理(populateBean())
- Properties和IO流相结合的方法
- 48 FI配置-财务会计-固定资产-与总账集成-定义折旧范围到总账的过账方式
- 梯度与散度与拉普拉斯算子
- ConstantSourceNode
- QQ 被曝搜集浏览器历史记录;饿了么回应骑手自焚;原锤子团队被合并暂停手机研发;| 极客头条...
- canvas绘图粒子扩散效果【原创】
- linux命令别名永久生效
- nginx config的多个config配置
- Atitit.android webview h5运行环境总结
- 联发科MT7621 Openwrt开发编译记录
- win10下itunes安装失败的解决方法
- SAP License:ERP系统操作详解
- 写了四十篇办公自动化文章后,我整理了这十个常用操作,代码拿走就用!
- VideoCodec 入门篇 - 00 (编解码简介)
- 视频教程-线上培训上课实录整站设计制作开发全能培训-HTML5/CSS
- 新款 MacBook Pro 评测:更好的性能、免费的刘海和更好的显示器
热门文章
- python代码解读器_python文章生成器(附源码+讲解)
- mysql 5.6特性_MySQL 5.6新特性概览
- Android的Fragment中onActivityResult不被调用的解决方案
- [Hive]Hive常用的优化方法
- maven 把依赖包一起打包
- centos7-防火墙
- [软件] 装机员 Ghost Win7 Sp1 32位纯净10月版
- goaccess配置nginx日志解析
- 你必须要找到你所爱的东西
- spring3,unitils 与dbunit整合问题记录