在之前的文章介绍中我们已经完成了一个API服务的全链路请求设计.调用方式可以看Test目录的代码 // src/test/request_test.go func TestAPI_Request(t *testing.T) { url := "127.0.0.1:8080" ak := "A00001" sk := "SECRET-A00001" api := NewAPI(url, ak, sk) params := map[string]in…
今日的内容: a. 路由系统 1. 创建app 2. 路由的分组 3. 路由的分发 - 正则表达式匹配 b. django的orm(模型model) 1. 创建模型的步骤 2. orm基本的增删改查 3. 正向查询和反向查询 注意事项: 1. 前台传给后台一个列表时,后端如何接受: request.POST.getlist(字段名) 2. 前台传给后台一个列表时,需要在ajax请求中增加一个参数: traditional: true 3. 多选框设置选中状态时,可以使用 $("select的选择…
路由层  url路由层结构 from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$', views.index), url(r'^index/', views.index, name='index'), ] url(正则表达式, views视图函数,参数,别…
一.FBV和CBV 在Python菜鸟之路:Django 路由.模板.Model(ORM)一节中,已经介绍了几种路由的写法及对应关系,那种写法可以称之为FBV: function base view . 今天补充另外一种路由关系的写法:CBV,即:class base view , 也可以看做为面向资源编程的另外一种叫法,类似tornado中的路由写法. 1. 建立路由关系urls.py from app01 import views urlpatterns = [ url(r'^home/',…
路由层 无名分组 有名分组 反向解析 路由分发 名称空间 伪静态的概念 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'test',views.test), url(r'testadd',views.testadd), ] 路由一旦匹配就不再走下面的路由匹配关系了 路由增加首页的方式 url(r'^$',views.home) 路由增加尾页的方式(当所有的路径都匹配不上时,给我返回404提示信息) url(r'',views.err…
django重点之url映射分发 在全局项目的urls.py中进行子项目的映射,然后在子项目中创建一个urls.py去处理自己项目中的请求,同时也实现了代码的解耦 添加路由分发的原则[全局urls.py中有写] Including another URLconf    1. Import the include() function: from django.urls import include, path    2. Add a URL to urlpatterns:  path('blog…
子路由include(URL分发) 在一个项目中可能存在多个应用,为了方便区分和管理,在项目的总路由urls.py中会进行路由分发: (1)项目总路由导入from  django.conf.urls  import   url,include from django.conf.urls import include, url urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^app02/', include('app02.urls'…
Django基础三之路由.视图.模板 目录 Django基础三之路由.视图.模板 1. Django 请求和返回周期 1.1 路由层之路由匹配 1.2 有名分组 1.3 无名分组 2. 反射解析 3. 路由分发 4 名称空间 5. JsonResponse 6. 上传文件 7. FBV和CBV 8. 模板语法传值 8.1 传基本数据类型 8.2 传函数名 8.3 传类名 9. 模板语法获取值 10. 模板语法过滤器 11. 模板语法标签(流程控制) 12. 自定义过滤器.标签.inclusion…
Django请求周期 url ->  路由系统  ->函数或者类 -> 返回字符串 或者 模板语言 Form表单提交: 点击提交 -> 进入url系统  ->  执行函数或者类的方法 - > 返回字符串 ajax提交: 路由url 1.path('index/', views.index),一个url对应一个函数 2.path('home/', views.Home.as_view()),一个url对应一个类 3.url(r'^detail-(\d+).html',vi…
s5day82 内容回顾: 1. Http请求本质 Django程序:socket服务端 a. 服务端监听IP和端口 c. 接受请求 \r\n\r\n:请求头和请求体 \r\n & request.POST request.GET d. 响应: 响应头: location:www.oldboyedu.com 和 响应体 e. 断开连接 浏览器: socket客户端 b. 浏览器发送: GET请求: "GET /index.html http1.1\r\nUser-Agent:Mozill…
路由基础 url(正则路径,视图函数地址,默认关键字参数,路由别名) 路由由上而下匹配, ""可以匹配任意路由 "^$"来匹配"/" url("index/$",views.error) url("index",views.index) 路由先从上到下匹配一次,匹配不上会自动添加/再匹配一次,故index匹配到index 如果想取消默认添加/ ①注释掉settings.py MIDDLEWARE = [.m…
目录 ORM表关系建立 一对一 一对多 多对多 Django 请求生命周期 url 路由层 路由匹配 无名分组 有名分组 反向解析 路由匹配条件无分组的情况的反向解析 无名分组情况的反向解析 有名分组的反向解析 例子 路由分发 名称空间 伪静态 虚拟环境 Django版本区别 django 1.X django 2.X 小例子 ORM表关系建立 换位思考,先粘在一张表上面分析, 然后再站在另一张表上分析 一对一 外键字段创建在任意一张表都可以,简易在查询频率较高的一方添加 OneToOneFie…
目录 Django的urls(路由) 正则表达式详解 路由匹配(分组匹配) 无名分组 有名分组 反向解析 无名分组反向解析 有名分组反向解析 路由分发 名称空间 虚拟环境 伪静态 Django的urls(路由) urls.py本质上就是一个标准的python文件 这个python文件的作用就是在URL请求和处理该请求的视图函数之间建立一个对应关系 换句话说,它就是一个url请求映射表. urls.py基本配置格式: from django.conf.urls import url # 由一条条映…
注意事项:新建的app一定要在settings.py中注册 app的注册 在这个位置进行注册 注册有两种方式: 1.'app01.apps.App01Config'   #这个是标准的写法,官方推荐 2.‘app01’   #这是不规范写法 需求:项目下有多个app,总路由根据用户请求的app进行指定的app分发 PS:项目下的urls就是总路由,每个app下可以新建复制一个空的urls路由 思路: 1.将项目下的urls作为总路由 2.分别在不同的app中将总路由最初的状态文件拷贝过去 3.分…
静态文件 在开发中同创会使用到 css,js,img等静态文件,这里带大家简单的介绍一下django如何处理静态页面, 配置 setting.py文件 STATIC_URL = '/static/' #这里相当于别名 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'myapp/static'), #静态文件的真是路径 ] 说明: 配置url地址,当我们要访问静态文件时url地址,这里只是做其中一部分path,结合urlconf会详细说明: STATIC_R…
一.应用 应用在Django项目中是一个独立的业务模块,可以包含自己的路由.视图.模版.模型,可以看成一个小的mtv 创建步骤 1.项目下用manage.py中的子命令创建应用文件夹 python3 manage.py startapp 文件夹名 2.在settings.py INSTALLED_APPS 列表中安装此应用   初始应用结构 migrations文件夹:模型层迁移文件 admin.py :管理后台 apps.py:应用下的相关配置 models.py:模型层 tests.py:测…
laravel的路由分组,就是把一些具有相同特征的路由进行分组,比如一些路由需要进行验证,一些路由有共同的前缀,一些路由有相同的控制器命名空间等. 这样把路由组合在一起,方便管理,维护性更好. Route::group([], function () { Route::get('user/list', function () {}); Route::get('user/info', function () {}); }); 上面的代码把两个路由归为一组,但并没有应用任何相同特征,这样的意义并不大…
laravel下的分组路由可以嵌套如下: Route::group(['prefix'=>'admin'],function(){ Route::group(['prefix'=>'dtk'],function(){ Route::get('/getapi','DtkAPIController@getApiData'); }); Route::group(['prefix'=>'qtk'],function(){ Route::get('/getapi','qtkAPIControlle…
路由分组有啥好处? 有时候啊 一大堆路由它们都有共同的地方,比如都使用一个中间件(过两天写)或是前缀都一样,避免代码重复 我们可以将他们分到一组中. 1 路由分组可以共享哪些属性? 中间件 middleware. 控制器的命名空间 namespace. 子域名 domain 路由前缀 1.1 中间件 关于中间件大K还没有写笔记介绍,这里先简单说下 中间件就是接收到请求后验证一些东西或相应后验证一些东西,比如Laravel自带的Auth中间件 就是验证用户有没有登录进来,如果用户没用登录,那么就会…
django第四天 路由别名 1.路由别名: 给路由路径命名一个名字 url(r'^login/$',views.login,name = 'login') 2.为什么要用路由别名 ①当路由路径过长时,写起来会比较复杂,可以使用简短的别名,减少代码量 ②当路由路径需要修改时,如果都是用路由路径的话,则扩展性较差,而使用别名来反向解析路由路径的话,只需要修改路由路径就ok了,扩展性高 3.如何用路由别名 在模板中.html文件 href = {% url '路由别名' 参数1,参数2...参数n%…
FBV 和 CBV 使用哪一种方式都可以,根据自己的情况进行选择 看看FBV的代码 URL的写法: from django.conf.urls import url from api import views urlpatterns = [ # FBV 方式 url(r'asset',views.asset,name='asset'), ] views的函数方法: from django.shortcuts import render,HttpResponse,reverse,redirect…
1.FBV(function base views) 在视图里使用函数处理请求. url:        re_path('fbv', views.fbv),        # url(r'^fbv', views.fbv), func:        def fbv(requset):                return render(requset,'fbv_Cbv.html') 2.CBV (class base views) url: re_path('cbv', views.C…
Django简介:是一个开放源代码的web 应用框架,由python 写成.初次发布于2005年7月,并于2008年9月发布了第一个正式版本1.0. 文件说明:manage.py:一个命令行工具,可以使我们用多种方式对Django的工程进行交互.project: __init__.py:一个空文件,告诉python这个目录应该被看成一个包settings.py:工程的配置文件urls.py:工程的URL声明(主URL控制器)wsgi.py:工程与WSGI兼荣的web服务器入口数据库的配置:注意:…
08.13自我总结 django中app分组 一.django路由系统app进行分组 1.创建app 使用pycharm创建django的时候, 加上app的名字,后续多个app只需复制粘贴之前app整个文件即可 命令行Python manage.py startapp app的名字 2.app内文件简介 migrations:模型操作的迁移文件 admin.py:django admin的时候会用 apps.py:注册文件 models.py:写表生成的代码 tests.py:测试文件 vie…
django管理系统代码优化-分组(二) 后续进行代码更新,优化 一优化的内容 优化前代码:https://www.cnblogs.com/pythonywy/p/11345626.html 路由进行主次分组(主要) cookies有效时间设置为1小时,1小时后失效 界面美化 二.创建app进行分组 1.app创建: 使用pycharm创建django的时候, 加上app的名字,多个app复制改名即可 命令行创建:Python manage.py startapp app的名字 2.创建后: 3…
问题 怎么样可以使用更贴近资源(Controller,Action)的方式定义路由. 解决方案 可以使用属性路由直接在资源级别声明路由.只要简单的在 Action 上使用属性路由 RouteAttribute,然后传一个相关路由模板就可以.属性路由与集中式路由在路由模板含义上基本是一样的,所有路由参数应该使用花括号,同时要与使用的 Action 相匹配.直接式路由支持默认路由,可选参数,约束.详细分析请往下走. [Route("api/teams/{id}")] public Team…
一 类中绑定方法的传参,不需要self class Foo(object): def __init__(self,name): self.name = name def foo(self,x): self.x = x f = Foo('sccc') func = f.foo func('miracle') print(f.x) 输出: miracle 同样 class OrderView(View): def dispatch(self, request, *args, **kwargs): p…
路由概念 路由的本质就是一种对应关系,比如说我们在url地址中输入我们要访问的url地址之后,浏览器要去请求这个url地址对应的资源. 那么url地址和真实的资源之间就有一种对应的关系,就是路由. 路由分为前端路由和后端路由 /* 1).后端路由是由服务器端进行实现,并完成资源的分发. 概念: 根据不同的URL请求,返回不同的内容 本质: URL请求地址与服务器资源之间的对应关系 2).前端路由是依靠hash值(锚链接)的变化进行实现 概念: 根据不同的事件显示不同的页面内容,即事件与事件处理函…
海蜘蛛网络科技官方网站 :: 做最好的中文软路由 :: 软件路由器 :: 软路由 :: 软件路由 :: RouterOs 企业简介 武汉海蜘蛛网络科技有限公司成立于2005年,是一家专注于网络新技术研发及应用的高科技企业,是知名的专业的软路由提供商. 公司自成立以来,秉承"用创新技术为客户创造价值"的核心价值观,坚持"诚信经营,合作双赢"的经营宗旨,自主开发出Hi-Spider Linux平台,并先后在路由系统.企业安全综合接入.企业融合办公.局域网安全存储等网络应…
之前对Controller创建的分析中,知道了Controller的创建是有两个步骤组成,分别是Controller的类型查找以及根据类型创建Controller实例. 在查询Controller的类型时,实际上是通过RouteData中的Controller名称和命名空间来完成匹配和查找的,而Controller的名称就根据路由对象中的url模板来获取,如默认的url模板:"{controller}/{action}/{id}".以下是根据ControllerName查找Contro…