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

总结:

一、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视图内配置

测试:

最新文章

  1. PPTP-VPN第一章——部署与简单使用
  2. eclipse导入cordova创建的项目
  3. Java基础复习笔记系列 三
  4. error: Setup script exited with error: Unable to find vcvarsall.bat
  5. Android(java)学习笔记142:使用Sqlite基本流程
  6. Android在发送带有附件的邮件
  7. iOS 8 AutoLayout与Size Class自悟(转载)
  8. 每日冲刺报告-Day4
  9. [HNOI 2014]江南乐
  10. Thymeleaf 3.0 专题
  11. windows根据端口号杀进程
  12. 第五篇-ubuntu下插入U盘,显示可读系统。
  13. RESTful API 最佳实践----转载阮一峰
  14. nginx 禁止未绑定的域名访问
  15. VMware Authorization Service不能启动 VMware虚拟机状态已挂起无法恢复解决方案
  16. 多模块Maven项目如何使用javadoc插件生成文档
  17. android 获取view在屏幕中的位置
  18. JavaScript运算符与类型
  19. FFmpeg精确时间截取视频
  20. kNN分类算法实例1:用kNN改进约会网站的配对效果

热门文章

  1. BZOJ1014 JSOI2008火星人(splay+哈希)
  2. ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 i题 Minimum(线段树)
  3. day30 hashlib模块
  4. 洛谷P3345 [ZJOI2015]幻想乡战略游戏(动态点分治,树的重心,二分查找,Tarjan-LCA,树上差分)
  5. 自学Linux Shell13.3-获得用户输入(read命令)
  6. android handler msg的使用 实现进度条
  7. UOJ #314. 【NOI2017】整数 | 线段树 压位
  8. 【转】C语言字符串与数字相互转换
  9. 在Android中afinal框架下實現sqlite數據庫版本升級的辦法
  10. 【CH1602】最大异或和 trie+贪心