Django学习手册 - 正则URL路由配置/路由分发
###############################################
总结:
一、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路由配置/路由分发的更多相关文章
- Django学习(一)---基本配置及创建项目、应用
安装:在Django官网下载最新版Django然后通过pip安装即可 一.创建项目 进入文件夹,打开cmd窗口,输入django-admin startproject myblog(项目名) 二.创建 ...
- Django学习手册 - 登录验证码
生成验证码函数 import random from PIL import Image, ImageDraw, ImageFont, ImageFilter _letter_cases = " ...
- Django学习手册 - ORM - ImageField数据类型
前置步骤 setting.py文件配置: 添加app目录 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'djan ...
- Django学习手册 - cookie / session
cookie """ cookie属性: obj.set_cookie(key,value,....) obj.set_signed_cookie(key,value,s ...
- Django学习笔记之URL与视图
视图 视图一般都写在app的views.py中.并且视图的第一个参数永远都是request(一个HttpRequest)对象.这个对象存储了这个http请求的所有信息,其中包括携带的参数以及一些头部信 ...
- Django学习手册 - 模板继承与导入
核心: PS:一个页面只能继承一个模板. 前置: 配置url. 配置views 关键字: 1. {% extends "index模板.html" %} 声明继承于哪个模板 ,关联 ...
- Django学习笔记 (一) 开发环境配置
Django是一个开放源代码的Web应用框架,由Python写成. 采用了MVC的软件设计模式,即模型M,视图V和控制器C. 1. Python安装 下载地址: http://www.python.o ...
- Django 学习 之 模板(html)与配置静态文件
一.模板(html) 1.模板语法之变量:语法为 {{ }} 在 Django 模板中遍历复杂数据结构的关键是句点字符, 语法:{{ var_name }} var_name 是一个变量名称,需要和 ...
- Django 学习第二天——URL路由及模板渲染方式
URL 的概念及格式: URL的引入:客户端:知道了url 就可以去进行访问: 服务端:设置好了url,别人才能访问到我 URL :网址(全球统一资源定位符):由 协议,域名(ip port) ,路径 ...
随机推荐
- HTML-XMLHttpRequest
var xhr = null; if(window.XMLHttpRequest){ xhr= new XMLHttpRequest(); }else{ xhr = new ActiveXObject ...
- BZOJ4386[POI2015]Wycieczki——矩阵乘法+倍增
题目描述 给定一张n个点m条边的带权有向图,每条边的边权只可能是1,2,3中的一种.将所有可能的路径按路径长度排序,请输出第k小的路径的长度,注意路径不一定是简单路径,即可以重复走同一个点. 输入 第 ...
- BZOJ2157旅游——树链剖分+线段树
题目描述 Ray 乐忠于旅游,这次他来到了T 城.T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接.为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间有且只有一条路 ...
- 自学Zabbix3.10.2-事件通知Notifications upon events-Actions报警配置
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix3.10.2-事件通知Notifications upon events-Acti ...
- 【BZOJ2245】[SDOI2011]工作安排(费用流)
[BZOJ2245][SDOI2011]工作安排(费用流) 题面 BZOJ 洛谷 题解 裸的费用流吧. 不需要拆点,只需要连边就好了,保证了\(W_j<W_{j+1}\). #include&l ...
- 对 spi 的认知
在使用 SPI 外设场景下,只需将数据送至 SPI->DR,外设将数据自动发走 在使用 DMA 外设场景下,只需指定数据缓存区地址及 SPI->DR 地址,这样就无需劳驾 CPU 而开始数 ...
- bzoj4571/luogu3293 美味 (主席树+贪心)
首先想到建出可持久化trie树然后在上面贪心,但是它加了一个数所以不能这么做 但依然可以贪心,仿照上面那个的过程,如果设y是在第i位上^b是1的数(前面的位数已经贪好了),我只要在[l,r]范围内能有 ...
- [NOI2009]二叉查找树
题目大意: 给定一棵严格的treap,父亲节点的优先级必然小于儿子节点的.权值按照二叉树的定义,左儿子小于父亲小于右儿子. 深度从1开始定义,每个点除优先级.数值之外,还有一个访问频度. 访问频度所产 ...
- CF 1023
昨天晚上打的一场CF,口胡一下前4题吧. A要注意细节,先找*,如果没有就判两者相等. 然后注意长度n - 1 <= m,然后前后比较,最后判断中间是不是字母. B先判断有没有解,然后求出 k ...
- 【CSS】元素样式
1.使用CSS的三种方式: 方式一.通过元素的style属性来设置元素的样式 方式二.在HTML头部标签<head>中通过<link>标签引入一个外部的CSS资源,通常是一个C ...