def user_post(req): try: username = get_cookies(req, 'username') if username: list_obs = [] page_all = topic_dao.count_page_u(10, user_dao.get_user_id(username)) my_list = topic_dao.get_page_u(1, 10, user_dao.get_user_id(username)) for x in my_list: # 内容 com_num = topic_dao.get_com_count(x.t_id) list_obs.append({ 'title': x.t_title, 'id': x.t_id, 'time': str(x.t_release_time), 'read': x.t_read, 'thumb': x.t_thumb, 'com_num': com_num, 'cat': 1 }) con = Context({ 'username': username, 'obj': list_obs, 'page_all': page_all, 'page_this': 1 }) return render(req, 'post.html', con) else: return redirect('/index/') except Exception as e: print(e) return render(req, 'error.html') else: pass
def user_message(req): try: # 获取Cookies判断用户是否已登陆 username = get_cookies(req, 'username') if username: my_list = user_dao.get_messages(user_dao.get_user_id(username)) obj_list = [] i = 0 # 获取未读的信息 for x in my_list: name = user_dao.get_user_name(x.c_user_give) ava = user_dao.get_user_avatar(x.c_user_give) time = x.c_time.strftime('%Y-%m-%d %H:%M:%S') obj_list.append({ 'id': x.c_id, 'name': name, 'ava': ava, 'con': x.c_content, 'uid': x.c_user_give, 'time': time, 'cat': int(x.c_category), 'item': x.c_item_id }) i += 1 con = Context({'username': username, 'obj': obj_list, 'count': i}) return render(req, 'message.html', con) else: return redirect('/index/') except Exception as e: print(e) return render(req, 'error.html') else: pass
def del_com(req, qid): try: user_id = user_dao.get_user_id(get_cookies(req, 'username')) dao.del_com(qid, user_id) except Exception as e: print(e) return render(req, 'error.html') else: return HttpResponse(1)
def mark_read(req): try: if req.method == "POST": username = get_cookies(req, 'username') qid = req.POST['id'] if username and user_dao.set_read(int(qid), user_dao.get_user_id(username)): return HttpResponse(1) else: return HttpResponse(0) except Exception as e: print(e) return render(req, 'error.html') else: pass
def give_com(req, cat, item): try: if req.method == 'POST': user_give = user_dao.get_user_id(get_cookies(req, 'username')) user_recive = req.POST['u_rev'] category = int(cat) it = int(item) com_recive = req.POST['c_rev'] content = req.POST['content'] dao.post_com(user_give, user_recive, category, it, com_recive, content) user_dao.add_credit(user_give, 3) except Exception as e: print(e) return render(req, 'error.html') else: return HttpResponse(1)
def avatar_change(req): try: username = get_cookies(req, 'username') if username: if req.method == "POST": pic = req.FILES.get("pic", None) path = store_pic(pic, 'avatar') img = user_dao.update_user_avatar( user_dao.get_user_id(username), path[1:]) response = HttpResponse(0) response.set_cookie("img", img) return response else: return user_info(req) except Exception as e: print(e) return render(req, 'error.html') else: pass
def login(req, url): try: # response = redirect(url) response = HttpResponse("<script>window.history.back(-1);</script>") # 判断是否有Cookies存在,有则清空 if get_cookies(req, 'username') is not None: response.delete_cookie('username') # 接收Post信息并判断是否可以登陆 if req.method == 'POST': uf = UserForm(req.POST) if uf.is_valid(): # 获得表单数据 username = uf.cleaned_data['username'] password = uf.cleaned_data['password'] # 查询判断 my_user = user_dao.get_users(username) if my_user: db_pwd = user_dao.get_user(username).u_password if check_password(password, db_pwd): # 比较成功 # 将username写入浏览器cookie,失效时间为3600 * 3 response.set_cookie('username', rc4encode(username), 10800) user_dao.add_credit(user_dao.get_user_id(username), 5) return response # 不可以登陆则自动注册 # pbkdf2_sha256加密算法 str_pwd = make_password(password, 'pbkdf2_sha256') # 添加到数据库 user_dao.new_user(username, str_pwd) # 将username写入浏览器cookie,失效时间为3600 * 3 response.set_cookie('username', rc4encode(username), 10800) return response except Exception as e: print(e) return render(req, 'error.html') else: # print response, url return response
def fetch_user_info(req): try: username = get_cookies(req, 'username') if username: desp = req.POST['description'] pwd = req.POST['password'] pwd2 = req.POST['password2'] # print(desp, pwd, pwd2) if pwd == pwd2: p = make_password(pwd, 'pbkdf2_sha256') d = user_dao.update_user_info(user_dao.get_user_id(username), desp, p) # print(d) return HttpResponse(d) meta = user_dao.get_user_info2(username) return HttpResponse(meta['dep']) else: return redirect('/index/') except Exception as e: print(e) return render(req, 'error.html') else: pass
def posting(req): try: if req.method == "POST": title = req.POST['title'] content = req.POST['content'] kind = req.POST['kind'] url = req.POST['url'] aid = req.POST['set'] if int(aid) == 0: # aid = 0 新文章 uid = user_dao.get_user_id(get_cookies(req, 'username')) if int(kind) == 1: # 头条 tid = topic_dao.new_article(title, content, uid, url) u = reverse('topic_detail', args=(int(tid),)) user_dao.add_credit(uid, 15) return HttpResponse(u) elif int(kind) == 3: # 佳作 tid = picture_dao.new_article(title, content, uid, url) u = reverse('picture_detail', args=(int(tid),)) user_dao.add_credit(uid, 15) return HttpResponse(u) elif int(kind) == 2: # 技巧 tid = skill_dao.new_article(title, content, uid, url) u = reverse('skill_detail', args=(int(tid),)) user_dao.add_credit(uid, 15) return HttpResponse(u) elif int(kind) == 4: # 器材 tid = equipment_dao.new_article(title, content, uid, url) u = reverse('equipment_detail', args=(int(tid),)) user_dao.add_credit(uid, 15) return HttpResponse(u) return HttpResponse(reverse('site_index')) else: # aid != 0 修改文章 # uid = user_dao.get_user_id(get_cookies(req, 'username')) if int(kind) == 1: # 头条 tid = topic_dao.mod_article(aid, title, content, url) u = reverse('topic_detail', args=(int(tid),)) return HttpResponse(u) elif int(kind) == 3: # 佳作 tid = picture_dao.mod_article(aid, title, content, url) u = reverse('picture_detail', args=(int(tid),)) return HttpResponse(u) elif int(kind) == 2: # 技巧 tid = skill_dao.mod_article(aid, title, content, url) u = reverse('skill_detail', args=(int(tid),)) return HttpResponse(u) elif int(kind) == 4: # 器材 tid = equipment_dao.mod_article(aid, title, content, url) u = reverse('equipment_detail', args=(int(tid),)) return HttpResponse(u) except Exception as e: print(e) return render(req, 'error.html') else: return HttpResponse(reverse('site_index'))
def user_other_json(req, uid, cat, page): try: username = user_dao.get_user_name(int(uid)) list_obs = [] p = int(page) if int(cat) == 1: page_all = topic_dao.count_page_u(10, user_dao.get_user_id(username)) my_list = topic_dao.get_page_u(p, 10, user_dao.get_user_id(username)) elif int(cat) == 2: page_all = picture_dao.count_page_u(10, user_dao.get_user_id(username)) my_list = picture_dao.get_page_u(p, 10, user_dao.get_user_id(username)) elif int(cat) == 3: page_all = skill_dao.count_page_u(10, user_dao.get_user_id(username)) my_list = skill_dao.get_page_u(p, 10, user_dao.get_user_id(username)) elif int(cat) == 4: page_all = equipment_dao.count_page_u( 10, user_dao.get_user_id(username)) my_list = equipment_dao.get_page_u(p, 10, user_dao.get_user_id(username)) else: pass for x in my_list: # 内容 if int(cat) == 1: com_num = topic_dao.get_com_count(x.t_id) list_obs.append({ 'title': x.t_title, 'id': x.t_id, 'time': str(x.t_release_time), 'read': x.t_read, 'thumb': x.t_thumb, 'com_num': com_num, 'cat': 1, 'page_all': page_all, 'page_this': int(page) }) elif int(cat) == 2: com_num = picture_dao.get_com_count(x.p_id) list_obs.append({ 'title': x.p_title, 'id': x.p_id, 'time': str(x.p_release_time), 'read': x.p_read, 'thumb': x.p_thumb, 'com_num': com_num, 'cat': 2, 'page_all': page_all, 'page_this': int(page) }) elif int(cat) == 3: com_num = skill_dao.get_com_count(x.s_id) list_obs.append({ 'title': x.s_title, 'id': x.s_id, 'time': str(x.s_release_time), 'read': x.s_read, 'thumb': x.s_thumb, 'com_num': com_num, 'cat': 3, 'page_all': page_all, 'page_this': int(page) }) elif int(cat) == 4: com_num = equipment_dao.get_com_count(x.e_id) list_obs.append({ 'title': x.e_title, 'id': x.e_id, 'time': str(x.e_release_time), 'read': x.e_read, 'thumb': x.e_thumb, 'com_num': com_num, 'cat': 4, 'page_all': page_all, 'page_this': int(page) }) else: pass except Exception as e: print(e) return render(req, 'error.html') else: return JsonResponse(list_obs, safe=False)
def get_username(req): username = get_cookies(req, 'username') if username is not None: uid = user_dao.get_user_id(username) return HttpResponse(uid) return HttpResponse(0)