路由控制和响应器

1.路由控制

分为三种:

1)基本路由:

url(r‘^books/‘, views.Books.as_view()),

2)半自动路由

 url(r‘^publish/‘,views.Publish.as_view({‘get‘:‘list‘,‘post‘:‘create‘})),
    url(r‘^publish/(?P<pk>\d+)‘,views.Publish.as_view({‘get‘:‘retrieve‘,‘put‘:‘update‘,‘delete‘:‘destroy‘}

必须继承:ViewSetMixin

继承ViewSetMixin的先后顺序要注意

3)全自动路由:(基本不用)

#先生成一个router对象
router=routers.DefaultRouter()
#需要传两个参数,第一个参数就是匹配的路径,第二个参数是视图类
router.register(‘publish‘,views.Publish)
urlpatterns = [
    url(r‘^admin/‘, admin.site.urls),
    url(r‘^books/‘, views.Books.as_view()),
    url(r‘^login/‘, views.Login.as_view()),
    url(r‘^authors/‘, views.Authors.as_view()),
    url(r‘^test/‘, views.TestAll.as_view({‘get‘: ‘test3‘})),
    # url(r‘^publish/$‘, views.Publish.as_view()),
    # url(r‘^publish/(?P<pk>\d+)‘, views.PublishDetail.as_view()),
    # url(r‘^publish/(?P<pk>\d+)‘, views.PublishDetailView.as_view()),

    # url(r‘^publish/$‘,views.Publish.as_view({‘get‘:‘list‘,‘post‘:‘create‘})),
    # url(r‘^publish/(?P<pk>\d+)‘,views.Publish.as_view({‘get‘:‘retrieve‘,‘put‘:‘update‘,‘delete‘:‘destroy‘}))
    url(‘‘,include(router.urls)),
]

不建议使用这种格式,其本质还是生成了4个路由,可以对json格式请求进行匹配


2.响应器(基本上不用手动配置)

作用:根据用户请求URL或用户可接受的类型,筛选出合适的渲染组件

局部配置.自己不进行配置,这两个配置也是默认都配置了的。

renderer_classes = [JSONRenderer,BrowsableAPIRenderer]

全局配置

REST_FRAMEWORK={
    ‘DEFAULT_RENDERER_CLASSES‘:[‘rest_framework.renderers.JSONRenderer‘],
    # ‘DEFAULT_THROTTLE_CLASS‘:[‘app01.MyAuth.MyThrottle‘,],
    # ‘DEFAULT_THROTTLE_RATES‘:{‘aaa‘:‘3/m‘},
    # ‘DEFAULT_PARSER_CLASSES‘:[‘rest_framework.parsers.JSONParser‘],
}

原文地址:https://www.cnblogs.com/xufengnian/p/10164125.html

时间: 2024-11-08 05:17:32

路由控制和响应器的相关文章

解析器,路由控制,响应器

解析器 urlencode,formdata,json urlencode编码,body体中的数据格式: name = laqz&age=18&xx =yy json编码:{"name":"lqz","age":18} formdata: 需要有数据部分和文件部分的分割 作用: 根据请求头 content-type 选择对应的解析器对请求体内容进行处理. 有application/json,x-www-form-urlencode

路由控制,版本控制,解析器,响应器

路由控制 基本路由写法 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^register/', views.register), url(r'^login/', views.Login.as_view()), url(r'^test/', views.Authtest.as_view()), ] 第二种写法 必须继承只要继承了ViewSetMixin: urlpatterns = [ url(r'^publish/$', view

[Lab4] 路由控制

[Lab4] 路由控制 工具1: Distribute List 过滤路由 试验拓扑 试验目的: R1 过滤掉R3的环回口3.3.3.3 1-1 DL Use For RIP R1/R2/R3跑 RIP 配置省略 R1的回环口1.1.1.1可以ping通R3的回环口3.3.3.3 目标在R1 上过滤掉3.3.3.3路由 我们在R2 上作distribute list R2(config)#access-list 10 deny 3.3.3.0 0.0.0.255 R2(config)#acces

angularJs模块ui-router之路由控制

原文地址:http://bubkoo.com/2014/01/02/angular/ui-router/guide/url-routing/ 在你的应用中大多数状态都有与其相关联的 url,路由控制不是设计完成 state 之后的事后想法,而是开始开发时就应该考虑的问题. 这里是如何设置一个基本url. $stateProvider .state('contacts', { url: "/contacts", templateUrl: 'contacts.html' }) 当我们访问i

【我的笔记BLOG3】Express基本用法,和路由控制,和模板渲染ejs

1. 路由控制的工作原理 //routes/index.js中的代码//访问主页时,调用ejs模板引擎,渲染index.ejs模板文件,生成静态页面,并显示在浏览器中.router.get('/', function(req, res) { //捕获访问主页的GET请求 res.render('index', { title: 'Express' }); }); 官方给出的写法是在 app.js 中实现了简单的路由分配,然后再去 index.js 中找到对应的路由函数,最终实现路由功能. 我们不

关于前后端分离后的路由控制问题

路由控制在多数框架中均有专门的方法,比如ng和node.但是只会使用是不可以的,虽然我连使用都不会.研究它的实现方式,才是正经道路,因为无论框架中的方式都炫酷或者实用,都是从底层开发出来了,那么底层的方法,就是需要了解研究的方法.依此,在以后的使用或者是自定义的时候才能够如臂使指. 那么前端的路由控制总归来说是有两种方法的. 第一种是H5新增的一类API,history.首先来看一下它的诸多方法. //与浏览器后退按钮作用相同 window.history.back(); //跳转到 windo

CodeIngiter 路由控制、路由自定义和 基于SEO的url重写等

配置项 application/config/routes 就是说的这里!   路由控制 让你的页面按照你希望的url方式去访问   路由自定义 帮助你实现路由的寻址,也就是key($var) =>value($url) 意义就是在向服务器发出请求之前的一步,你还可以再这里改变他寻址路径,也就是url形式   基于SEO的url重写 但是以上并不能满足实际的开发需求. 比如,我的旧页面的url不能变,那么我们首先就必须把controllers里的class和fun都改名,再在routes里自定义

[转]express 路由控制--next

next() express的路由控制有个next()功能,在定义了多个路由的时候,对匹配的url会按顺序执行, 例如,有这样两个路由,第一个路由会对满足“/”的地址,在req中添加一个user的属性,然后再交给接下去的路由处理 所以当访问....../user时,可以从req中取出user信息 [javascript] view plain copy app.get(/^\/*/,function(req, res, next){ req.user ="shuilan"; next(

Router和History (路由控制)-backbone

Router和History (路由控制) Backbone.Router担任了一部分Controller(控制器)的工作,它一般运行在单页应用中,能将特定的URL或锚点规则绑定到一个指定的方法(后文中称Action). 当我们开发一个单页应用时,常常会遇到这样两个问题: 我们在同一个页面中通过用户的操作来隐藏.显示HTML块,为用户提供一个无刷新.完整流畅的体验,但用户可能并不知道他当前正处于同一个页面中,因此他希望通过浏览器的“前进”和“后退”按钮来返回和前进到上一步操作.当他真正这样操作时