###############################################

总结:

一、url路由配置:

  方式一:(通过url链接get获取)

  方式二:(url路由匹配方式获取-拓展(元组方式,))

  方式三:(url路由匹配方式获取-拓展(字典方式))

二、表单动态提交方式:

  name属性运用

  request.path_info属性运用

三、路由分发

###############################################

一、url路由配置:

方式一:

前端:

<ur>字典循环:(items)
{% for i,j in dict_info.items %}
<li>
{# 方式一:提交nid到url连接里面。#}
<a href="/index2/?nid={{ i }}"> {{ i }} --- {{ j.name }}</a>
</li>
{% endfor %}
</ur>

URL配置:

后端views配置:

dict_info = {
"":{"name":"root1","phone":""},
"":{"name":"root2","phone":""},
"":{"name":"root3","phone":""},
"":{"name":"root4","phone":""},
"":{"name":"root5","phone":""},
"":{"name":"root6","phone":""},
"":{"name":"root7","phone":""},
} def index(request):
return render(request,"index.html",{"dict_info":dict_info}) #方式一:(利用url提交过来获取)
def index2(request):
nnid = request.GET.get("nid")
return HttpResponse(nnid)

测试:

获取到了nid 的数据了。

方式二:

前端:

 <ur>字典循环:(items)
{% for i,j in dict_info.items %}
<li>
{# 方式二:提交的url,通过urls路由匹配到。#}
<a href="/index2-{{ i }}"> {{ i }} --- {{ j.name }}</a>
</li>
{% endfor %}
</ur>

url路由配置:

urlpatterns = [
path('admin/', admin.site.urls),
url('^index/', views.index), # 方式二的URL路由
url('^index2-(\d)', views.index2),
  # 元组形式
  # url('^index2-(\d)-(\d)', views.index2),
]

后端:

# 方式二:(利用url匹配的方式获取)
def index2(request,nid):
return HttpResponse(nid)
#元组形式获取
# def index2(request,*args):
# return HttpResponse(args)

测试:

方式三:

前端:(不需要修改)

<ur>字典循环:(items)
{% for i,j in dict_info.items %}
<li>
<a href="/index2-{{ i }}"> {{ i }} --- {{ j.name }}</a>
</li>
{% endfor %}
</ur>

URL配置:

   #方式三的URL路由
url('^index2-(?P<nid>\d)', views.index2),
#字典形式
# url('^index2-(?P<nid>\d)-(?P<uid>\d)', views.index2),

后端:

def index2(request,**kwargs):
print(kwargs)
return HttpResponse(kwargs.values())

测试:

二、表单url动态提交方式:

  name属性运用

    前端:

{#    表单提交方式,可以用django内置方法命名提交,动态匹配url方式#}
<form action="{% url 'names' %}" method="post">
{# <form action="{% url 'names'可在后面添加参数 %}" method="post">#}
aaaaa
</form>

    url配置:

# 表单提交,动态匹配url方式,name 属性
url('^1234', views.index2,name="names"),

    测试:

    

  

  request.path_info属性运用

{#
request.path_info表单提交方式,完全动态匹配当前url方式#} 
<form action="{{ request.path_info }}" method="get"> 不不 </form>

三、路由分发:

有两天业务线,app01,app02,在urls 内导入 include ,引入路由分发代码

在app02 目录下新建一个urls 文件

配置

在app02视图内配置

测试:

Django学习手册 - 正则URL路由配置/路由分发的更多相关文章

  1. Django学习(一)---基本配置及创建项目、应用

    安装:在Django官网下载最新版Django然后通过pip安装即可 一.创建项目 进入文件夹,打开cmd窗口,输入django-admin startproject myblog(项目名) 二.创建 ...

  2. Django学习手册 - 登录验证码

    生成验证码函数 import random from PIL import Image, ImageDraw, ImageFont, ImageFilter _letter_cases = " ...

  3. Django学习手册 - ORM - ImageField数据类型

    前置步骤 setting.py文件配置: 添加app目录 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'djan ...

  4. Django学习手册 - cookie / session

    cookie """ cookie属性: obj.set_cookie(key,value,....) obj.set_signed_cookie(key,value,s ...

  5. Django学习笔记之URL与视图

    视图 视图一般都写在app的views.py中.并且视图的第一个参数永远都是request(一个HttpRequest)对象.这个对象存储了这个http请求的所有信息,其中包括携带的参数以及一些头部信 ...

  6. Django学习手册 - 模板继承与导入

    核心: PS:一个页面只能继承一个模板. 前置: 配置url. 配置views 关键字: 1. {% extends "index模板.html" %} 声明继承于哪个模板 ,关联 ...

  7. Django学习笔记 (一) 开发环境配置

    Django是一个开放源代码的Web应用框架,由Python写成. 采用了MVC的软件设计模式,即模型M,视图V和控制器C. 1. Python安装 下载地址: http://www.python.o ...

  8. Django 学习 之 模板(html)与配置静态文件

     一.模板(html) 1.模板语法之变量:语法为 {{ }} 在 Django 模板中遍历复杂数据结构的关键是句点字符, 语法:{{ var_name }} var_name 是一个变量名称,需要和 ...

  9. Django 学习第二天——URL路由及模板渲染方式

    URL 的概念及格式: URL的引入:客户端:知道了url 就可以去进行访问: 服务端:设置好了url,别人才能访问到我 URL :网址(全球统一资源定位符):由 协议,域名(ip port) ,路径 ...

随机推荐

  1. BZOJ1093 ZJOI2007最大半连通子图(缩点+dp)

    发现所谓半连通子图就是缩点后的一条链之后就是个模板题了.注意缩点后的重边.写了1h+真是没什么救了. #include<iostream> #include<cstdio> # ...

  2. Navicat的使用技巧

    1.快速查找表:选中一个数据库,然后在右侧会弹出如下的搜索框,搜索表名即可 2.快速清空表的内容:在窗口选中一张表,右键,选择“清空表”

  3. 自学Zabbix2.2-服务器端环境配置

    点击返回:自学Zabbix之路

  4. 牛客练习赛 小A与最大子段和 解题报告

    小A与最大子段和 题意 在一个序列 \(\{a\}\) 里找到一个非空子段 \(\{b\}\), 满足 \(\sum\limits_{i=1}^{|b|}b_i\times i\) 最大 \(n\le ...

  5. 【bzoj1568】 JSOI2008—Blue Mary开公司

    http://www.lydsy.com/JudgeOnline/problem.php?id=1568 (题目链接) 题意 在线维护若干条直线,询问一些横坐标上的最高直线的纵坐标. Solution ...

  6. UVALive - 6439(思维题)

    题目链接:https://vjudge.net/contest/241341#problem/F 题目大意:给你一个字符串,你可以用任意单个字符代替其中的一个子串,使它形成一个回文串,要求形成的回文串 ...

  7. [luogu2657][windy数]

    luogu2657 思路 数位dp,记录下上个位置的数,如果当前的数字与上个数字的差值小于2,就不再转移.还是要注意排除前导0.在记忆化的时候,全都是前导0的情况不能记忆化. 代码 #include& ...

  8. bug6 项目检出JRE问题(Unbound classpath container: 'JRE System Library [JavaSE-1.7]' in project 'idweb')

    项目从SVN检出到工作空间后报了很多错误,其中很明显就是一些jar的问题,没有相关的jar或版本问题,看到最后的错误Unbound classpath Container: 'JRE System L ...

  9. python小demo-01: 线程池+多进程实现cpu密集型操作

    起因: 公司有一个小项目,大概逻辑如下: 服务器A会不断向队列中push消息,消息主要内容是视频的地址,服务器B则需要不断从队列中pop消息,然后将该视频进行剪辑最终将剪辑后的视频保存到云服务器.个人 ...

  10. 用 Vue 开发一个简单的答题应用(一)

    Vue 之类的 MVVM 框架,能帮助我们用更少的代码实现复杂的业务. 为了简单一点,开发计划分成三阶段: 一,数据写死,实现基本的答题效果.支持多种题型. 二,使用本地存储保存数据,支持题目录入的功 ...