3

我正在用 django 为我的项目和文件制作自己的“云服务器”。我正在尝试创建树文件结构,但我无法弄清楚如何做到这一点。
以及如何制作基于用户名的 URL,例如 (username/root/home/Documents/...)
我还对一些好的链接和身份验证示例以及 django 风格的云服务器解决方案感兴趣。

模型.py

class BasicFile(models.Model):
    file_name = models.CharField(max_length=80)
    last_edit = models.DateTimeField(default=datetime.now, blank=True)
    sub_folders = models.IntegerField()
    sub_files = models.IntegerField()

    def __str__(self):
        return self.file_name


视图.py

class IndexView(LoginRequiredMixin, ListView):
    template_name = 'cloud/index.html'
    context_object_name = 'project_file'

    def get_queryset(self, *args, **kwargs):
        return ProjectFile.objects.all()



网址.py

re_path(r'^(?P<username>)/$', views.IndexView.as_view(), name='index'),
re_path(r'^(?P<username>/f1/f1_child)/$', views.IndexView.as_view(), name='index'),
4

1 回答 1

1

为了能够从您的文件对象创建嵌套结构,您可以创建一个可选关系,以便文件可以具有“父级”,然后您可以从中构建树。

为此,您可以在模型中添加一个字段;

parent = models.ForeignKey("self", blank=True)

这可能有助于您了解身份验证和用户;https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Authentication

于 2018-05-12T19:38:47.730 回答