首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django 教程 --- Django视图

Django视图Django M V T结构重要参与者之一。视图是用户界面,即您呈现网站时在浏览器中看到内容。它由HTML / CSS / Javascript和Jinja文件表示。...Django查看范例 使用示例说明如何创建和使用Django视图。...要检查如何使用DjangoMVT(模型,视图,模板)结构制作基本项目,请访问创建项目Django视图类型 Django视图分为两大类: 基于功能视图 基于类视图 ?...Django CRUD(创建,检索,更新,删除)基于功能视图:- 创建视图–基于函数视图Django 细节视图–基于函数视图Django 更新视图–基于函数视图Django 删除视图–基于函数视图...Django 基于类视图 基于类视图提供了一种将视图实现为Python对象而非函数替代方法。

3K30

django视图-11

使用类视图 基于类视图核心是允许你用不同实例方法来响应不同HTTP请求方法,而不是在一个视图函数中使用条件分支代码来实现。...创建类视图 使用类视图,代码是这样子 from django.views import View class ClassView(View): def get(self, request...django提供 View 类,使用 from django.views import View 导入 注册路由 配置类视图时候,使用类视图 as_view 方法注册路由 urlpatterns...View 中,执行 dispatch 方法, dispatch 会方法会在类中查找类似GET\POST之类类方法,然后和请求方式进行匹配匹配上了,就返回该方法引用。...如果向上边视图发送一个 GET 请求,他会把 GET 转换为小写形式并和类中方法进行匹配,然后匹配到 get 方法,会把 get 方法引用返回到 as_view 调用处。

74130
您找到你想要的搜索结果了吗?
是的
没有找到

Django学习笔记之Djangourl反向解析

0x00 URL反向解析和三种不同反向解析方式 Django中提供了关于URL映射解决方案,可以做两个方向使用: 1.普通解析过程:由客户端浏览器发起一个url请求,Django根据URL解析...,把url中参数捕获,调用相应视图,获取相应数据,然后返回给客户端显示。...2.反向解析:通过一个视图名字,再加上一些参数和值,逆向获取相应URL。...articles/\d{4} # 最终结果为2012 Archive 0x02 视图重定向 from django.core.urlresolvers...()方法,然后原理是根据提供视图和参数值来逆向查找URLconf,匹配相应url然后把值拿回来, # 最后,reverse()返回值为:articles/2006/,这样就逆向查出了需要url

81710

真正 Django 博客首页视图

在此之前我们已经编写了 Blog 首页视图,并且配置了 URL 和模板,让 Django 能够正确地处理 HTTP 请求并返回合适 HTTP 响应。...首页视图函数 上一节我们阐明了 Django 开发流程。即首先配置 URL,把 URL 和相应视图函数绑定,一般写在 urls.py 文件里,然后在工程 urls.py 文件引入。...其次是编写视图函数,视图中需要渲染模板,我们也在 settings.py 中进行了模板相关配置,让 Django 能够找到需要渲染模板。最后把渲染完成 HTTP 响应返回就可以了。...{% empty %} 作用是当 post_list 为空,即数据库里没有文章时显示 {% empty %} 下面的内容,最后我们用 {% endfor %} 告诉 Django 循环在这里结束了。...例如这里 {{ post.pk }}(pk 是 primary key 缩写,即 post 对应于数据库中记录 id 值,该属性尽管我们没有显示定义,但是 Django 会自动为我们添加)。

3.5K80

Django 官方推荐姿势:类视图

于是,django 把这些相同逻辑代码抽取了出来,写成了一系列通用视图函数,即基于类通用视图(Generic Class Based View)。...使用类视图django 推荐做法,熟悉了类视图使用方法后,能够减少视图函数重复代码,节省开发时间。接下来就让我们把博客应用中视图函数改成基于类通用视图。...具体实现我们以后会专门开辟一个专栏分析类视图源代码,到时候就能看出 django 使用魔法了)。...将 archive 和 tag 视图函数改写成类视图 这里没有什么新东西要讲了,学以致用,这个任务就交给你自己了。...对于这种类型需求,django 提供了一个 DetailView 类视图

1.3K20

Djangourl与视图详解(3)

Djangourl与视图详解(3) 可能你学习到这里,感觉好乱,所将知识点没有一丝关联,这个是没有办法Django与Flask有所不同Django是结构化,每个模块都有知识点,我们只有先了解...在类中定义一个属性regex,这个属性是用来限制URL转换器规则正则表达式。 实现to_python(self,value)方法,这个方法是将URL中值转换一下,然后传给视图函数。...将定义好转换器,使用django.urls.converters.register_converter方法注册到Django中。...解释: 当在访问blog/时候,因为没有传递num参数,所以会匹配到第一个URL,这时候就执行view.page这个视图函数,而在page函数中,又有num=1这个默认参数。...而如果访问blog/1时候,因为在传递参数时候传递了num,因此会匹配到第二个URL,这时候也会执行views.page,然后把传递进来参数传给page函数中num。

1.4K20

Django 视图函数打印内容不显示

引言   今天发现一个很诡异问题,在django项目视图函数中,使用print,结果打印不出来。由于项目写了很久,查了很久,最终还是找到根本原因了。...有时候BUG就是在那个毫不起眼角落里藏着!   问题 从上图看视图函数请求是成功,并没有什么毛病,但是百思不得其解,为啥会这样?...踩过坑   而我换个项目,我其他项目,尝试打印,是正常。唯独这个项目不行,但是项目运行是正常,前端操作后端返回数据也正常。...就在这一切看似正常情况下,这个打印始终不显示,不仅仅是这个视图函数,我里面所有视图函数加了个打印功能都不显示。后面在一位大神指点下,尝试了新建项目,重新弄一次,还是不行。...最后只有一步一步注释去找原因。结果最终还是找到原因。   解决   根本原因是我封装了某模块,模块里面写了两行代码引起

1.4K30

Django serializer优化类视图实现示例

一. create优化 在serializer序列化中,我们通过创建序列化器对象方式地简化了视图函数代码,前端传入数据通过反序列化操作进行了各种数据校验,代码如下: from django.http...import JsonResponse from django.views import View import json from .models import Project from .serializers...import ProjectsSerializer class ProjectsPage(View): ''' 类视图 ''' def post(self, request):...友情提示:在调用序列化器类对象save()方法时,可以以关键字方式传参,它会自动添加到create方法validated_data中,应用场景:判断当前项目是哪个用户创建 到此这篇关于Django...serializer优化类视图实现示例文章就介绍到这了,更多相关Django serializer优化类视图内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn

38830

Django REST Framework-常用视图

Django REST Framework是基于Django一个用于构建Web API框架。它提供了许多用于构建Web API工具和实用程序,其中最常用是类视图。...类视图是一种Django REST FrameworkAPI视图,它是基于类视图。它提供了一种方便方式来编写可重用Web API视图,并带有许多有用内置功能。...APIViewAPIView是Django REST Framework中最基本视图之一。它提供了一个通用方式来处理HTTP请求,并返回一个HTTP响应。...总结在Django REST Framework中,类视图是一种方便方式来编写Web API视图,并带有许多有用内置功能。...本文介绍了Django REST Framework中最常用视图,包括APIView,GenericAPIView,ModelViewSet,ReadOnlyModelViewSet和ViewSet

66030

Djangourl与视图详解(1)

本文链接:https://blog.csdn.net/weixin_43908900/article/details/94463842 Djangourl与视图详解(1) 这是Django第一部分...:关于url跟视图相关知识,下面请看操作: url映射: 映射是Django原生功能,因为在settings.py中配置了ROOT_URLCONF为urls.py。...然后在视图函数中也要写一个参数,视图函数中参数必须和url中参数名称保持一致,不然就找不到这个参数。另外,url中可以传递多个参数。...---- 上面是使用变量方式进行传参,下面我们使用一个高大上,查询字符串方式。我们只需要在视图函数中使用request.GET.get('参数名称')方式来获取。...')) ] 在appurls.py中,所有的url匹配也要放在urlpatterns变量中,否则找不到。

1.3K30

django之路由分组,反向解析,有名

^test/([0-9]{4})/', views.test), 会将加了括号正则表达式匹配内容当做位置参数传递给后面的视图函数 具体操作如下: ?...a标签中href,当你改完,又变成了my_index,那么一天时间都可能在改地址,那么有没有什么方法,不再把程序写死,反向解析就是应用于此。...通过名字反向推导出页面文件,类似于字典 前端反向解析 {% url 'add' %} # {% url '放urls.py中路由与视图函数name值' %} ? ?...无名分组反向解析 前端反向解析 {% url 'add' 1 %} # {% url '放urls.py中路由与视图函数name值' %} ?...区别(了解) 1.0里面的url对应django2.0里面re_path django2.0里面的path第一个是精准匹配(你怎么写,我就怎么匹配) django1.0版本中匹配参数都是字符串类型

1.6K10

Django REST Framework-视图装饰器(一)

Django REST Framework中视图装饰器提供了一种方便方式来自定义视图行为。视图装饰器是一个函数,它接受一个视图函数作为参数,并返回修改后视图函数。...在本文中,我们将介绍Django REST Framework中最常用视图装饰器,包括@api_view,@permission_classes,@authentication_classes和@throttle_classes...@api_view@api_view是Django REST Framework中最常用视图装饰器之一。它将普通函数视图转换为可以处理各种HTTP方法API视图。...@permission_classes@permission_classes是Django REST Framework中另一个常用视图装饰器。它允许您指定在请求被处理之前必须满足权限要求。...这意味着只有已经通过身份验证用户才能访问这个API视图

43710

02.Django基础二之URL路由系统

三 分组命名匹配   上面的示例使用简单正则表达式分组匹配(通过圆括号)来捕获URL中值并以位置参数形式传递给视图。   ...发现都跑到index这个函数里面去执行了,也就是说,全部被这个没有匹配规则url获取到了,对不对     所以,正确写法,匹配根路径写法: url(r'^$', views.index),#以空开头...四 命名URL(别名)和URL反向解析 你想,我们自己写url里面的路径有没有可能会更改,如果路径更改了,那么我们前端访问这个路径标签(a标签,form表单等等)里面的属性值是不是也要自己手动去改啊...第二种方式叫做反向解析URL、反向URL 匹配反向URL 查询或者简单URL 反查。   ...% url 'home' %} #模板渲染时候,被django解析成了这个名字对应那个url,这个过程叫做反向解析 在views函数中可以这样引用:(后面再讲这个视图函数应用反向解析内容,上面的是模板应用反向解析过程

1.5K20

Python进阶27-Django 路由层

没有命名正则表达式组(通过圆括号)来捕获URL 中值并以位置 参数传递给视图。...---- 反向解析介绍 在使用Django 项目时,一个常见需求是获得URL 最终形式,以用于嵌入到生成内容中(视图中和显示给用户URL等)或者用于处理服务器端导航(重定向等)。...但是我们要在后台视图层也要做一次反向解析,导入:reverse from django.shortcuts import render,HttpResponse,redirect,reverse #...若果没有转化器,将匹配任何字符串,当然也包括了 / 字符。 无需添加前导斜杠。...Django默认支持以下5个转化器: str,匹配除了路径分隔符(/)之外非空字符串,这是默认形式 int,匹配正整数,包含0。 slug,匹配字母、数字以及横杠、下划线组成字符串。

1K30

django之urls系统

补充说明 # 是否开启URL访问地址后面不为/跳转至带有/路径配置项 APPEND_SLASH=True Django settings.py配置文件中默认没有 APPEND_SLASH 这个参数,...分组命名匹配 上面的示例使用简单正则表达式分组匹配(通过圆括号)来捕获URL中值并以位置参数形式传递给视图。...命名URL和URL反向解析 在使用Django 项目时,一个常见需求是获得URL最终形式,以用于嵌入到生成内容中(视图中和显示给用户URL等)或者用于处理服务器端导航(重定向等)。...第二种方式叫做反向解析URL、反向URL 匹配反向URL 查询或者简单URL 反查。...在更高层与处理Django 模型实例相关代码中:使用get_absolute_url() 方法。 上面说了一大堆,你可能并没有看懂。(那是官方文档生硬翻译)。

1.3K70
领券