Django的URL别名

 

项目的urls.py配置文件

  1.  
    from message.views import getform
  2.  
     
  3.  
    urlpatterns = [
  4.  
    url(r'^admin/', admin.site.urls),
  5.  
    url(r'^form/$',getform)
  6.  
    ]

这个是原来的,html中我们引入的为:

<form action="/form/" method="post" class="smart-green">

上面这种写法是写死的,但是如果我们后期想修改url的话就需要每个html文件都要变更url就比较麻烦,所以我们下面来配置一下url的别名

  1.  
    from message.views import getform
  2.  
     
  3.  
    urlpatterns = [
  4.  
    url(r'^admin/', admin.site.urls),
  5.  
    url(r'^form/$',getform,name='go_form')
  6.  
    ]
我们已经将form的别名写为 go_form,所以Html中我们可以直接用{% url 'go_form' %} 来匹配url,这样的好处就是我们可以任意改正则的 form成为其他名称,django也会帮我们主动转换成为该名称。
<form action="{% url 'go_form' %}" method="post" class="smart-green">

比如:

  1.  
    from message.views import getform
  2.  
     
  3.  
    urlpatterns = [
  4.  
    url(r'^admin/', admin.site.urls),
  5.  
    url(r'^form_go/$',getform,name='go_form')
  6.  
    ]

 

【url的匹配顺序】

urls的配置中会从上到下来进行匹配,所以如果我们希望是form结尾的话就要记得加入 $ 结束符号,比如我们需要formtest,但是先匹配到了form就会造成冲突,从而直接指向了form的html模板中

posted @ 2018-08-27 18:59  裙下的小香蕉  阅读(183)  评论(0编辑  收藏  举报