I'm making my own "cloud server" with django, for my projects and files.
I'm trying to create tree file structure, but I cant figure out the way to do it.
And how I can make username based URL, like (username/root/home/Documents/...)
I'm also interested of some good links and examples of authentication and django style cloud server solutions.
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'),
To be able to create a nested structure from your file objects you could create an optional relationship so that files can have 'parents' which you could then build up a tree from.
To do so you could add a field to your model;
parent = models.ForeignKey("self", blank=True)
This may help with your understanding of authentication & users; https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Authentication
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With