【问题标题】:URL folder system Django PythonURL 文件夹系统 Django Python
【发布时间】:2019-07-24 06:02:48
【问题描述】:

如何使用 Dropbox 中的 url 在文件夹中移动?

示例:我有一个指向文件“site_name/home/path1/path2/file”的 url,如何将“path1/path2/file”作为 Django 中 url 的参数?

或者是使用 GET 参数作为 PATH 文件“site_name/home?path=path1/path2/file”的唯一方法?

【问题讨论】:

    标签: python django url directory


    【解决方案1】:

    如果您使用的是 django 2.0+:

    re_path(r'^.*', some_view)
    

    否则:

    url(r'^.*', some_view)
    

    你应该把它放在所有其他 url 之后,否则它们会停止工作,因为这个模式匹配每个 url。

    然后你会在你的视图中得到路径:

    def some_view(request):
        full_path = request.path
    
        split_path = full_path.split('/')
    
        # If you have slash at the end of the url, you should pick the second last item.
        if len(split_path[-1] < 1:
            file = split_path[-2]
            folders = split_path[2:len(split_path)-2]
        else:
            file = split_path[-1]
            folders = split_path[2:len(split_path)-1]
    

    对于像site.com/home/path1/path2/path3/file/ 这样的路径,如果你打印folders,你会得到这个:

    ['path1', 'path2', 'path3']
    

    【讨论】:

    • 哦,谢谢你的帮助!是否可以创建数据库模型(文件、文件夹、用户)并保存文件 url,然后像这样导航?
    • 是的,但是如果您要使用 db 作为文件夹,那么只需为它们添加 slug 以便您可以更轻松地找到它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    相关资源
    最近更新 更多