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

总结:

一、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. Layui_Tree模块遍历HDFS

    注:转载请署名 一.实体 package com.ebd.application.common.Base; import java.util.List; public class HDFSDir { ...

  2. Java动态代理、XML、正则

    15.1  动态代理        在之后学习Spring框架时,Spring框架有一大核心思想,就是AOP,(Aspact-Oriented-Programming 面向切面编程) 而AOP的原理就 ...

  3. Hibernate事务以及一级缓存02

    一. Hibernate中的事务 1. 事务的回顾 1.1 什么是事务(Transaction)(面试重点) 是并发控制的单元,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的 ...

  4. 【AGC005F】Many Easy Problems (NTT)

    Description ​ 给你一棵\(~n~\)个点的树和一个整数\(~k~\).设为\(~S~\)为树上某些点的集合,定义\(~f(S)~\)为最小的包含\(~S~\)的联通子图的大小.\(~n~ ...

  5. Centos7安装Zabbix4.0步骤

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 Centos7安装Zabbix4.0步骤 官方搭建zabbix4.0的环境要求: 1. 环境搭建L ...

  6. 架构师成长之路2.3-PXE+Kickstart无人值守大量部署Linux

    点击返回架构师成长之路 架构师成长之路2.3-PXE+Kickstart无人值守大量部署Linux 所谓的无人值守,就是自动应答,当安装过程中需要人机交互提供某些选项的答案时(如如何分区),自动应答文 ...

  7. awk实例

    AWK-F 以XX为分割df -lh | grep boot | awk '{print $5}' | awk -F '%' '{print $1}'grep "bash" /et ...

  8. 洛谷P4843 清理雪道

    题意:给你DAG,求最小路径边覆盖.路径可重. 解:首先可以想到边转点,发现有n²条边,果断超时. 有源汇有上下界最小流. 建图:每条边都建立一条边,流量限制为[1, 1]. 源点向每个点连边,因为都 ...

  9. P1186 玛丽卡 删边最短路最大值

    反正蛮水的一道题. 胡雨菲一句话让我的代码减少了10行还A了,之前的是个错的. 思路:先求出最短路,然后依次删去最短路上的每一条边,跑最短路求最大值. 关于删边:我的想法是当作链表删除,把last的n ...

  10. 关于Picasso load本地图片显示失败的探究

    今天测试找过来说图片不显示了,查了一下是Picasso加载本地图片没有显示,奇怪了,以前都是这样写为什么现在不行了,难道是Picasso有bug了,怀着激动的心情断点跟进去发现 Picasso所有lo ...