我正在创建自己的"云服务器"与django,我的项目和文件。
我试图创建树文件结构,但我无法弄清楚如何做到这一点
以及如何创建基于用户名的URL,如(username / root / home / Documents / ...)我也对一些好的链接以及身份验证和django样式云服务器解决方案的示例感兴趣。<登记/>
的 models.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
的 views.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()
的 urls.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'),
答案 0 :(得分:0)
为了能够从文件对象创建嵌套结构,您可以创建一个可选关系,以便文件可以拥有父母&#39;然后你可以从中建立一棵树。
为此,您可以在模型中添加字段;
parent = models.ForeignKey("self", blank=True)
这可能有助于您理解身份验证和用户; https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Authentication