示例#1
0
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
示例#2
0
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
示例#3
0
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)
示例#4
0
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
示例#5
0
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)
示例#6
0
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
示例#7
0
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
示例#8
0
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
示例#9
0
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'))
示例#10
0
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)
示例#11
0
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)