【发布时间】:2019-10-15 04:54:31
【问题描述】:
我有一个Django 2.2 项目(使用其余框架),我需要使用以下格式的 url 调用视图函数:
/class/students?date=07092019`
我已经设置了以下 url 路由来处理这个 url:
re_path(r'^class/students%3Fdate%3D(?P<date>\w+)/$',StudentsInClassView.as_view() ,name='student')
对应的视图函数定义如下:
class StudentsInClassView(APIView):
def get(self, request, date,format=None):
由于某种原因,每当我转到 url 时,它都会转换为
/class/students/?date=07092019
和不同的视图,带有 URL
path('class/students/',StudentsView.as_view() ,name='students')
被调用。
如果我从 URL 中删除 ?date= 并仅包含实际日期,则会按预期调用 StudentsInClassView。我已经避开了问号和等号,但这样做似乎没有什么区别。
如何让?date= slug 保留在 URL 中,因为它用于调用 StudentsInClassView?是否有不同的正则表达式可用于匹配整个 URL?
【问题讨论】:
标签: python regex django api django-rest-framework