zoe před 4 roky
rodič
revize
3f388aa615
5 změnil soubory, kde provedl 95 přidání a 3 odebrání
  1. 0 2
      account/models.py
  2. 6 0
      file/views.py
  3. 9 0
      folder/views.py
  4. 9 0
      group/urls.py
  5. 71 1
      group/views.py

+ 0 - 2
account/models.py

@@ -16,8 +16,6 @@ class Profile(models.Model):
     user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile')
     user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='profile')
     # 邮箱
     # 邮箱
     email = models.CharField(max_length=20, blank=True)
     email = models.CharField(max_length=20, blank=True)
-    # 密码
-    password = models.CharField(max_length=500, blank=True)
     # 对应的根目录
     # 对应的根目录
     root_folder = models.OneToOneField(Folder, on_delete=models.CASCADE, related_name='root_folder')
     root_folder = models.OneToOneField(Folder, on_delete=models.CASCADE, related_name='root_folder')
 
 

+ 6 - 0
file/views.py

@@ -1,3 +1,9 @@
 from django.shortcuts import render
 from django.shortcuts import render
 
 
 # Create your views here.
 # Create your views here.
+
+# 文件位置
+
+
+# 文件上一级
+

+ 9 - 0
folder/views.py

@@ -1,3 +1,12 @@
 from django.shortcuts import render
 from django.shortcuts import render
 
 
 # Create your views here.
 # Create your views here.
+
+
+# 在根目录下列出所有文件夹与文件
+
+
+# 请求查看文件夹内容,进入下一层文件夹,并列出所有文件,包含文件夹
+
+
+# 增删文件夹

+ 9 - 0
group/urls.py

@@ -0,0 +1,9 @@
+from django.shortcuts import render
+from django.urls import path
+from . import views
+# Create your views here.
+urlpatterns = [
+    path('add_group/', views.add_group, name='add_group'),
+    path('leave_group/', views.leave_group, name='leave_group'),
+    path('group_list/', views.group_list, name='group_list'),
+]

+ 71 - 1
group/views.py

@@ -1,4 +1,74 @@
+from django.http import HttpResponse
 from django.shortcuts import render
 from django.shortcuts import render
+from django.contrib.auth.decorators import login_required
+from models import Group
+from django.contrib.auth.models import User
+import json
 
 
 # Create your views here.
 # Create your views here.
-#
+DEBUG = 1
+
+
+# 首先是 加入/退出 群组,客户端发送申请,把该用户直接 加入/删除 该群组的对象
+@login_required(login_url='/account/login/')
+def add_group(request):
+    if request.method == 'post':
+        # 查找是否有此人
+        user = User.objects.filter(username=request.user.username)
+        if user:
+            # 查找此人是否已经在群组里
+            group_members = Group.objects.filter(member__group_id=request.Group.group_id)
+            if user.username in group_members:
+                # 此人已在群组里
+                return HttpResponse(status=421)
+            else:
+                groups = Group.objects.filter(group_id=request.Group.group_id)
+                groups.member.add(user)
+                groups.save()
+                return HttpResponse(status=200)
+        else:
+            return HttpResponse(status=422)
+    elif request.method == 'GET':
+        if DEBUG:
+            return render(request, 'add_group.html')
+    else:
+        return HttpResponse(status=400)
+
+
+@login_required(login_url='/account/login/')
+def leave_group(request):
+    if request == 'post':
+        user = User.objects.filter(username=request.user.username)
+        if user:
+            # 查找此人是否已经在群组里
+            group_members = Group.objects.filter(member__group_id=request.Group.group_id)
+            if user.username in group_members:
+                # 此人已在群组里
+                return HttpResponse(status=421)
+            else:
+                groups = Group.objects.filter(group_id=request.Group.group_id)
+                groups.member.delete(user)
+                groups.save()
+                return HttpResponse(status=200)
+        else:
+            return HttpResponse(status=422)
+    elif request.method == 'GET':
+        if DEBUG:
+            return render(request, 'add_group.html')
+    else:
+        return HttpResponse(status=400)
+
+
+# 获取你所在的所有群组
+@login_required(login_url='/account/login/')
+def group_list(request):
+    if request.method == 'POST':
+        # 获取群组
+        groups = Group.objects.filter(group_id__member=request.user.username)
+        response = groups
+        return HttpResponse(json.dumps(response), status=200)
+    elif request.method == 'GET':
+        if DEBUG:
+            return render(request, 'group_list.html')
+    else:
+        return HttpResponse(status=400)