path:Django 2.2路径转换器

时间:2019-06-24 10:55:56

标签: django url django-views

我一定想知道如何使用路径(而不是函数,路径转换器)。我不明白为什么下面的None值:

我有一个网址:

urlpatterns = [
    ...
    re_path(r'(<path:current_path>)?', views.index, name='index'),
    ...
]

视图:

def index(request, current_path):
    logger.error(f'current_path : {current_path}')
    path = request.path
    ...

除了current_path值始终为None(给定路径是什么)外,所有功能都将保留,而request.path保持正确的值。

为什么?

编辑:,当我传递以下网址时,我希望current_path ='home / user':http://127.0.0.1:8080/file_system//home/user/

1 个答案:

答案 0 :(得分:2)

您在模式中使用re_path。那使用正则表达式而不是路径转换器。您应该改用path,然后删除正则表达式部分。

path('<path:current_path>', views.index, name='index'),