zoukankan      html  css  js  c++  java
  • Django对应的路由名称

    1. 名字很长,修改起来很麻烦

    2.Django提供了一种方法

    在urls.py中修改了名字以后,html中会自动对应做修改。这样提交表单的时候就会比较方便了。跳转到写死的某个URL。

    3.根据名字indexx只能找到前缀,无法匹配后面的数字,例如detail-1中的这个数字1。想获得数字,需要重新定义一个参数来接收。

     

     跳转了,指向了一个新的页面。

    如下:表明跳转到哪个页面。第二个参数写死了,你想访问某个URL,我可以让你跳转(提交)到另外一个指定的URL.

    当然了,也可以访问哪个,就还是跳转到哪个。跳转到自己所在的页面。这种的话,跳转到当前页面,看不到效果。path_info是一个内置函数,可以获取到当前url的路径。

    因为render传递的时候,已经把request这个参数传过来了。所以可以直接调用。

    上面的也可以改变方式传参数:<form action="{% url 'indexx' nid=1 uid=3 %}" method="POST"> 

    这样的话,就帮URL生成了一个新的功能。跳转的功能。一点提交,就提交到了一个新的页面。

    4.上面讲的是在模板语言中,基于views.py中的name生成新的URL.

         在view.py中也可以根据name生成URL, 格式与上面的稍有不同。

    url(r'^asdfdfdfd/(d+)/',views.index,name='indexx')	
    v=reverse('indexx',args=(90,)

    url(r'^asdfdfdfd/(d+)/(d+)/',views.index,name='indexx')
    v=reverse('indexx',args=(90,88,)

    url(r'^asdfdfdfd/(?P<nid>d+)/((?P<uid>d+)/',views.index,name='indexx') v=reverse('indexx',kwargs={'nid':1,'uid':99})

    5.本节笔记

    	4.name---非常重要
    	对URL路由关系进行命名,目的:以后可以根据此名称获取索引,进而生成自己想要的URL。
    	URL中的写法:
    		url(r'asdfsdfasd/',views.index, name='i1'),
    		url(r'yug/(d+)//(d+)/',views.index, name='i2'),
    		url(r'buy/(?P<pid>d+)/(?P<nid>d+)/',views.index, name='i3'),
    		
    	在views函数里面,如果我想在def的函数里面,根据name生成新的url
    		def func(request, *args, **kwargs):
    			from django.urls import reverse
    			url1 = reverse('i1')                          #生成的就是这个url:asdfsdfasd/
    			url2 = reverse('i2',args=(1,2,))              #生成的就是这个url:yug/1/2
    			url3 = reverse('i3',kwargs={'pid':1,"nid":9}) #生成的就是这个url:buy/1/9
    			
    	在模板语言里面,xxxx.html 
    		{% url "i1" %}               #asdfsdfasd/
    		{% url "i2" 1 2 %}           #yug/1/2
    		{% url "i3" pid=1 nid=9 %}   #buy/1/9
    

     4.name---非常重要
    对URL路由关系进行命名,目的:以后可以根据此名称获取索引,进而生成自己想要的URL。
    URL中的写法:
    url(r'asdfsdfasd/',views.index, name='i1'),
    url(r'yug/(d+)//(d+)/',views.index, name='i2'),
    url(r'buy/(?P<pid>d+)/(?P<nid>d+)/',views.index, name='i3'),

    在views函数里面,如果我想在def的函数里面,根据name生成新的url
    def func(request, *args, **kwargs):
    from django.urls import reverse
    url1 = reverse('i1')                          #生成的就是这个url:asdfsdfasd/
    url2 = reverse('i2',args=(1,2,))              #生成的就是这个url:yug/1/2
    url3 = reverse('i3',kwargs={'pid':1,"nid":9}) #生成的就是这个url:buy/1/9

    在模板语言里面,xxxx.html
    {% url "i1" %}               #asdfsdfasd/
    {% url "i2" 1 2 %}           #yug/1/2
    {% url "i3" pid=1 nid=9 %}   #buy/1/9
     

    杂七杂八

    	模板语言:
    		url(r'asdfsdfasd/',views.index, name=indexx),
    		{%url "indexx" %} #indexx 只能获取到前面的索引,在这里指:asdfsdfasd/。 它是没法获取到后面的数字的。
    		
    		url(r'asdfsdfasd/(d+)',views.index, name=indexx),
    		{%url "indexx"  3 %} #自己想跳转到哪里就跳到哪里。跳转到indexx代表的前缀-3 的网址了。基于当面URL的名称,跳转到了一个新的网址。
    		
    		#当前的URL:request.path_info
    
    	编辑完某页之后,希望还是留在当前页;
    	编辑完某页之后,希望返回首页。
    	
    	根据名字反转生成URL
    	from django.urls import reverse
    	v=reverse('indexx',args=(90,)
    	v=reverse('indexx',kwargs={'nid':1,'uid':99})
    
  • 相关阅读:
    【STM32H7的DSP教程】第13章 DSP快速计算函数-三角函数和平方根
    【STM32F429的DSP教程】第13章 DSP快速计算函数-三角函数和平方根
    【STM32F407的DSP教程】第13章 DSP快速计算函数-三角函数和平方根
    分布式锁--redis(单节点)
    Lock
    Condition
    Synchronized
    并发线程池
    多线程实现原理
    多线程基础
  • 原文地址:https://www.cnblogs.com/momo8238/p/7514243.html
Copyright © 2011-2022 走看看