• django 路由系统中name应用


    作用:对URL路由关系进行命名, ***** 以后可以根据此名称生成自己想要的URL *****

    name的两大应用

       url(r'^asdfasdfasdf/', 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'),

    一,浏览一论坛看到第十页,发现要登录才能查看内容,于是登录,但是登录成功后你得跳转到第十页啊。即跳回原网页

        模板语言调用:

          {% url "i1" %}  ==>  asdfasdfasdf/

          {% url "i1" %}2/3  ==>  asdfasdfasdf/2/3  跳到固定页面

        方法一:会把uri全带上

        <form action="{{ request.path_info }}" method="get">
            <input type="text" name="user"/>
            <input type="submit" value="提交" />
        </form>

    二,某些特殊情况下,新增一篇博客,或是登录成功,得跳到指定页面,而不是当前页面。

       方法一:只会带上name的值,适合跳到固定页面

        <form action="{% url 'i1' %}" method="get">
            <input type="text" name="user"/>
            <input type="submit" value="提交" />
        </form>

    reverse函数,将name反转换成url,目的也是跟上面一样

    from django.urls import reverse

      url(r'^asdfasdfasdf/', views.index, name='i1'),

      v=reverse('i1')

      url(r'^yug/(d+)/(d+)/', views.index, name='i2'),

      v1 = reverse('i2',args=(1,2))

      

      url(r'^buy/(?P<pid>d+)/(?P<nid>d+)/', views.index, name='i3'),

      v1 = reverse('i3',kwargs={'uid':3,'pid':'5',})

  • 相关阅读:
    小程序注册
    Webpack
    npm总结1
    js事件
    js高级程序2
    js高级程序
    索引
    将数据渲染到页面的方法
    前后端分离后,通讯问题 springboot + vue
    axios post 请求后端参数为null解决方案
  • 原文地址:https://www.cnblogs.com/alex-hrg/p/9687301.html
Copyright © 2020-2023  润新知