Skip to content

Commit ef5bb49

Browse files
author
黄建生
committed
限制上传文件的大小
设置session过期时间 添加要求登录的限制
1 parent bf296ea commit ef5bb49

File tree

9 files changed

+153
-103
lines changed

9 files changed

+153
-103
lines changed

WebIM/settings.py

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@
2424
SECRET_KEY = '3zt8c)88lmp_8kif4&y*#oy=myhsdh5do)xjixb3$$b+i-2+vt'
2525

2626
# SECURITY WARNING: don't run with debug turned on in production!
27-
DEBUG = False
28-
# Domain = 'http://127.0.0.1:8000'
29-
Domain = 'https://iwantme.cn'
27+
DEBUG = True
3028

3129
ALLOWED_HOSTS = ['*']
3230

@@ -183,8 +181,30 @@ def mysql_settings():
183181

184182

185183
# 上传文件白名单
186-
ALLOWED_EXTENSIONS = ('txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif')
184+
ALLOWED_EXTENSIONS = ('txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif', 'zip')
185+
# 2.5MB - 2621440
186+
# 5MB - 5242880
187+
# 10MB - 10485760
188+
# 20MB - 20971520
189+
# 50MB - 5242880
190+
# 100MB 104857600
191+
# 250MB - 214958080
192+
# 500MB - 429916160
193+
MAX_UPLOAD_SIZE = 10485760
194+
195+
# LOGIN_URL
196+
LOGIN_URL = '/'
197+
Domain = 'http://127.0.0.1:8000'
198+
# Domain = 'https://iwantme.cn'
199+
200+
AUTH_USER_MODEL = 'chat.IMUser'
187201

202+
# session 设置
203+
# 30分钟
204+
SESSION_COOKIE_AGE = 60 * 5
205+
SESSION_SAVE_EVERY_REQUEST = True
206+
# 关闭浏览器,则COOKIE失效
207+
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
188208

189209
# 本地开发配置放在local_settings.py中
190210
# try:

chat/admin.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from django.contrib import admin
2-
from chat.models import User, GroupChat, Group, Message
2+
from chat.models import IMUser, IMGroupChat, IMGroup, Message
33

44

55
class UserAdmin(admin.ModelAdmin):
@@ -18,9 +18,6 @@ class UserAdmin(admin.ModelAdmin):
1818
)
1919

2020

21-
admin.site.register(User, UserAdmin)
22-
admin.site.register(Group)
23-
admin.site.register(GroupChat)
24-
# admin.site.register(Membership)
25-
# admin.site.register(Message)
26-
# admin.site.register(GroupChatMembership)
21+
admin.site.register(IMUser, UserAdmin)
22+
admin.site.register(IMGroup)
23+
admin.site.register(IMGroupChat)

chat/consumers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from channels.generic.websocket import AsyncWebsocketConsumer
33
from asgiref.sync import async_to_sync
44
from channels.layers import get_channel_layer
5-
from .models import Group
5+
from .models import IMGroup
66
import json
77

88

chat/models.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import uuid
22
import django
33
from django.db import models
4+
from django.contrib.auth.models import AbstractUser
45

56

6-
class User(models.Model):
7+
class IMUser(AbstractUser):
78
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
8-
username = models.CharField(max_length=100, verbose_name="用户名")
9+
username = models.CharField(max_length=100, unique=True, verbose_name="用户名")
910
password = models.CharField(max_length=100, verbose_name="密码")
1011
email = models.EmailField(verbose_name="邮箱")
1112
phone = models.CharField(max_length=11, verbose_name="手机号")
@@ -26,9 +27,6 @@ class User(models.Model):
2627
# 用户头像
2728
avatar = models.CharField(max_length=128, default='/statics/img/default_avatar_male_180.gif', verbose_name="头像")
2829

29-
# avatar = models.ImageField(upload_to='statics/upload/%y%m%d', blank=True, null=True,
30-
# default='/statics/img/default_avatar_male_180.gif', verbose_name="头像")
31-
3230
STATUS = (
3331
('ON', 'online'),
3432
('OFF', 'hide'),
@@ -40,31 +38,31 @@ def __str__(self):
4038
return self.username
4139

4240

43-
class Group(models.Model):
41+
class IMGroup(models.Model):
4442
'''
4543
好友分组,属于某个用户
4644
一个用户(User)有多个好友分组(Group),
4745
一个好友分组(Group)只属于一个用户(User)
4846
'''
4947
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
5048
name = models.CharField(max_length=128)
51-
owner = models.ForeignKey(User, on_delete=models.CASCADE, related_name='owner', default=None)
52-
group_members = models.ManyToManyField(User)
49+
owner = models.ForeignKey(IMUser, on_delete=models.CASCADE, related_name='owner', default=None)
50+
group_members = models.ManyToManyField(IMUser, related_name='group_members')
5351

5452
def __str__(self):
5553
return self.name
5654

5755

58-
class GroupChat(models.Model):
56+
class IMGroupChat(models.Model):
5957
'''
6058
群聊,独立于用户存在
6159
'''
6260
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
6361
name = models.CharField(max_length=128)
6462
# 群聊管理员
65-
group_admins = models.ManyToManyField(User, related_name="group_admins")
63+
group_admins = models.ManyToManyField(IMUser, related_name="im_group_admins")
6664
group_chat_avatar = models.CharField(max_length=128, default='/statics/img/default_avatar_male_180.gif')
67-
group_chat_members = models.ManyToManyField(User, related_name='group_chat_members')
65+
group_chat_members = models.ManyToManyField(IMUser, related_name='im_group_chat_members')
6866

6967
def __str__(self):
7068
return self.name

0 commit comments

Comments
 (0)