from django.shortcuts import render,redirect
from django.utils.safestring import mark_safe
import json
from app1.models import User
from django.views.decorators.csrf import csrf_exempt
import datetime
from django.contrib.auth.decorators import login_required
def function(fun):
def inner():
pass
return inner
#@function
def login(request):
return render(request, 'chat/login.html', {})
@csrf_exempt
def loginVerify(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
#sql查询验证
users = User.objects.all()
for user in users:
if user.username == username and user.password == password:
user.status = 1
user.loginTime = datetime.datetime.now()
user.save()
users_online = User.objects.filter(status=1)
users_offline = User.objects.filter(status=0)
# request.session['users_online'] = users_online
# request.session['users_offline'] = users_offline
request.session['username'] = username
# print(request.session['users_offline'])
return render(request, 'chat/index23.html', {
'username': username,
'users_online': users_online,
'users_offline': users_offline
})
else:
continue
return render(request, 'chat/login.html', {'error': 1})
else:
return render(request, 'chat/login.html', {'error': 2})
#return render(request, 'chat/login.html', {})
def register(request):
return render(request, 'chat/register.html', {})
@csrf_exempt
def regverify(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
email = request.POST['email']
users = User.objects.all()
#注册验证
for user in users:
if user.username==username:
return render(request, 'chat/register.html', {'error': 1})
if username and email and password:
u1 = User()
u1.username = username
u1.email = email
u1.password = password
u1.createTime = datetime.datetime.now()
u1.save()
#redis
return render(request, 'chat/login.html', {})
else:
return render(request, 'chat/register.html', {'error': 2})
else:
return render(request, 'chat/login.html', {})
@login_required
def index(request):
return render(request, 'chat/index23.html', {})
@csrf_exempt
def profile(request):
return render(request, 'chat/profile.html', {})
@csrf_exempt
def contacts(request):
return render(request, 'chat/contacts.html', {})
@csrf_exempt
def chat_view(request):
username = request.session['username']
# users_online = request.session['users_online']
# users_offline = request.session['users_online']
# print(users_online)
return render(request, 'chat/chat_index.html', {
'username': username,
# 'users_online': users_online,
# 'users_offline': users_offline
})
@csrf_exempt
def changepsw(request):
username = request.session['username']
return render(request, 'chat/changepsw.html', {'username': username})
def index24(request):
return render(request, 'chat/index24.html', {})
def room(request, room_name, user_name):
room_name_json = mark_safe(json.dumps(room_name))
user_name_json = mark_safe(json.dumps(user_name))
users_online = User.objects.filter(status=1)
users_offline = User.objects.filter(status=0)
return render(request, 'chat/room.html', {
'room_name_json': room_name_json,
'user_name_json': user_name_json,
'roomname': room_name,
'username': user_name,
'users_online': users_online,
'users_offline': users_offline,
})
@csrf_exempt
def change_pass(request):
if request.method == 'POST':
username = request.POST['username']
oldpassword = request.POST['oldpassword']
newpassword = request.POST['newpassword']
users = User.objects.all()
print(users.count())
for user in users:
if user.username == username and user.password==oldpassword:
user.password = newpassword
user.save()
return render(request, 'chat/changepsw.html', {'success': 1, 'username': username})
else:
continue
return render(request, 'chat/changepsw.html', {'success': 0, 'username': username})
else:
return render(request, 'chat/changepsw.html', {})
def logout(request):
username = request.session['username']
users = User.objects.all()
for user in users:
if user.username == username:
user.status = 0
user.logoutTime = datetime.datetime.now()
user.save()
else:
continue
return render(request, 'chat/login.html', {})
def userprofile(request, username):
if request.method == 'POST':
users_online = User.objects.filter(status=1)
users_offline = User.objects.filter(status=0)
email = request.POST.get('email')
user_obj = User.objects.get(email=email)
re_password = request.POST.get('re_pwd')
re_password_2 = request.POST.get('re_pwd_2')
if re_password == re_password_2:
user_obj.password = re_password
user_obj.save()
message = '密码修改成功'
else:
message = '两次密码不一致,修改密码失败'
return render(request, 'user/userprofile.html', {
'user_obj': user_obj,
'users_online': users_online,
'users_offline': users_offline,
'message': message,
})
if request.method == 'GET':
try:
user_obj = User.objects.get(username=username)
except:
return redirect('/')
users_online = User.objects.filter(status=1)
users_offline = User.objects.filter(status=0)
return render(request, 'user/userprofile.html', {
'user_obj': user_obj,
'users_online': users_online,
'users_offline': users_offline,
})
def back2chat(request, username):
users_online = User.objects.filter(status=1)
users_offline = User.objects.filter(status=0)
return render(request, 'chat/index.html', {
'username': username,
'users_online': users_online,
'users_offline': users_offline,
})
def friendprofile(request, username, friendname):
user_obj = User.objects.get(username=username)
fri_obj = User.objects.get(username=friendname)
users_online = User.objects.filter(status=1)
users_offline = User.objects.filter(status=0)
return render(request, 'user/friendprofile.html', {
'user_obj': user_obj,
'fri_obj': fri_obj,
'users_online': users_online,
'users_offline': users_offline,
})
def logout_chat(request):
if request.method == 'POST':
username = request.POST.get('username')
user_obj = User.objects.get(username=username)
user_obj.is_login = 0
user_obj.save()
return render(request, 'chat/chat_index.html')
@csrf_exempt
def mailbox(request):
return render(request, 'chat/mailbox.html', {})
@csrf_exempt
def mail_detail(request):
return render(request, 'chat/mail_detail.html', {})
@csrf_exempt
def mail_compose(request):
return render(request, 'chat/mail_compose.html', {})
@csrf_exempt
def graph_echarts(request):
return render(request, 'chat/graph_echarts.html', {})
没有合适的资源?快使用搜索试试~ 我知道了~
Python-即时通讯Python实现web版多人聊天室
共417个文件
js:118个
css:75个
png:52个
需积分: 50 74 下载量 60 浏览量
2019-08-10
05:36:47
上传
评论 6
收藏 10.97MB ZIP 举报
温馨提示
即时通讯:Python实现web版多人聊天室
资源推荐
资源详情
资源评论
收起资源包目录
Python-即时通讯Python实现web版多人聊天室 (417个子文件)
pyvenv.cfg 87B
summernote-bs3.css 143KB
bootstrap.css 143KB
bootstrap.css 143KB
bootstrap.min.css 118KB
bootstrap.min14ed.css 118KB
bootstrap.min.css 118KB
bootstrap.min.css 118KB
style.min.css 97KB
style.min862f.css 97KB
animate.min.css 46KB
font-awesome.css 37KB
datepicker3.css 33KB
font-awesome.min.css 32KB
font-awesome.min.css 30KB
main.css 30KB
font-awesome.min93e3.css 26KB
bootstrap-theme.css 26KB
bootstrap-theme.css 26KB
ambiance.css 25KB
style.min.css 25KB
bootstrap-theme.min.css 23KB
bootstrap-theme.min.css 23KB
sweetalert.css 18KB
simditor.css 17KB
ui.jqgridffe4.css 16KB
jasny-bootstrap.min.css 14KB
chosen.css 12KB
dropzone.css 11KB
layer.css 11KB
layim.css 11KB
fullcalendar.css 11KB
summernote.css 10KB
plyr.css 10KB
codemirror.css 7KB
blueimp-gallery.min.css 7KB
awesome-bootstrap-checkbox.css 7KB
toastr.min.css 7KB
laydate.css 6KB
webuploader-demo.min.css 6KB
laydate.css 6KB
jquery.steps.css 6KB
footable.core.css 5KB
jquery.fancybox.css 5KB
dataTables.bootstrap.css 5KB
bootstrap-table.min.css 4KB
reset.css 4KB
commit.css 4KB
clockpicker.css 4KB
basic.css 4KB
style.css 4KB
laydate.css 3KB
bootstrap-colorpicker.min.css 3KB
laydate.css 3KB
laydate.css 3KB
laydate.css 3KB
laydate.css 3KB
laydate.css 3KB
cropper.min.css 3KB
ion.rangeSlider.css 3KB
adminindex.css 3KB
jquery.nouislider.css 3KB
layer.ext.css 3KB
reglogin.min.css 3KB
vdonate.css 3KB
bootstrap-markdown.min.css 3KB
jquery.gritter.css 3KB
ion.rangeSlider.skinFlat.css 2KB
login.min.css 1KB
custom.css 1KB
bootstrap-treeview.css 1KB
bootstrapValidator.min.css 694B
fullcalendar.print.css 660B
switchery.css 611B
webuploader.css 515B
morris-0.4.3.min.css 443B
fontawesome-webfont.eot 162KB
fontawesome-webfont.eot 162KB
fontawesome-webfont93e3.eot 67KB
fontawesome-webfontd41d.eot 67KB
glyphicons-halflings-regulard41d.eot 20KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
footabled41d.eot 5KB
footable.eot 5KB
fancybox_loading@2x.gif 14KB
fancybox_loading.gif 6KB
loading.gif 4KB
loading-upload.gif 2KB
loading.gif 166B
tip-yellowsimple_arrows.gif 107B
ie-spacer.gif 43B
blank.gif 43B
mailbox.html 19KB
graph_echarts.html 16KB
profile.html 12KB
contacts.html 12KB
mail_detail.html 12KB
index23.html 10KB
共 417 条
- 1
- 2
- 3
- 4
- 5
资源评论
weixin_39841882
- 粉丝: 443
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功