Django的URL别名

项目的urls.py配置文件

from message.views import getform

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^form/$',getform)
]

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

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

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

from message.views import getform

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

比如:

from message.views import getform

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^form_go/$',getform,name='go_form')
]


【url的匹配顺序】

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



猜你喜欢

转载自blog.csdn.net/qq_40134903/article/details/81061065