Django 路由正则URL

时间:2021-10-04 04:34:15

Django 路由正则URL


URL1

# 路由
url(r'^detail/', views.detail)

{#点击跳转到指定用户下显示信息#}
<li><a target="_blank" href="/detail/?nid={{ k }}">{{ row.name }}</a></li>

URL2

# 返回一个值,d+也可以写为w+任意正则
url(r'^detail-(\d+).html', views.detail)

{#点击跳转到指定用户下显示信息#}
<li><a target="_blank" href="/detail-{{ k }}.html">{{ row.name }}</a></li>

URL3

# 返回多个值,严格按照顺序排列
url(r'^detail-(\d+)-(\d+).html', views.detail)

URL4(推荐)

# 返回多个值并指定变量赋值,不需要按照顺序排列
url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail)
Django 路由正则URLDjango 路由正则URL
# 路由
url(r'^detail-(\d+)-(\d+).html', views.detail)

# 函数可以使用*args,可以自动接收任意个参数
def detail(request,*args):
    args = (2,9)

# 函数可以使用*args,**kwargs可以自动接收任意个参数,**kwargs默认不接收
def detail(request,*args,**kwargs):
    args = (2,9)
实例1
Django 路由正则URLDjango 路由正则URL
# 路由
url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail)

def detail(request,*args,**kwargs):
    kwargs = {'nid':1,'uid':3}

def detail(request,*args,**kwargs):
    args = (2,9)
实例2

 

其他说明


 

提交表单时路由指定url变量

# 后面加入第三个参数,参数名称为indexx。
path('infdafddsfadsafdsafdsfdasfdsdex/', views.index,name='indexx')

# <!-- 引用url返回的路径变量,直接引用form表单内 -->
<form action="{% url 'indexx' %}" method="POST">