Django(模板url+正则url)

Posted gaoyukun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django(模板url+正则url)相关的知识,希望对你有一定的参考价值。

一.正则url(解决正则部分不能被匹配的问题)

-------xxx.html
<a href="/teacher_edit-{{ item.id }}">编辑</a>

-------url.py

path(teacher_edit-(d+),views.teacher_edit),

--------views.py
def teacher_edit(req):
  xxxx
###########################以上的正则url不能被识别,解决方法如下:



----------------urls.py
from django.urls import path,re_path                 #引入re_path模块
re_path(teacher_edit-(d+),views.teacher_edit),    #此处有一个正则部分就是(d+),所以也就是有一个参数传给teacher_edit()

-----------------views.py
def teacher_edit(req,edit):                          #参数edit是urls.py中的正则部分
  print(edit)

二.模板url

----------index.html

<a href="{% url "A" B C %}">ABC</a> #找到urls.py中name="A"的path(),path()中的url跟A无关


----------urls.py
path("(w+)/(w+)",views.index,name="A")  # 此处只匹配A


-----------views.py
def index(req,B,C):          #B,C参数是path()中url的正则部分
    return render(req,"index.html")

 

以上是关于Django(模板url+正则url)的主要内容,如果未能解决你的问题,请参考以下文章

django:路由,模板,模型系统

Django模板--反向解析

Django中的Slug Url正则表达式

Django框架中的视图和模板

Django之路由层视图层模板层介绍

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性