示例#1
0
def users_list(request, _page_index=1):
    # Check is login
    _islogin = __is_login(request)
    _page_title = u"网友们"
    _users = User.objects.order_by("-addtime")

    _login_user = None
    _login_user_friend_list = None
    if _islogin:
        try:
            _login_user = User.objects.get(id=__user_id(request))
            _login_user_friend_list = _login_user.friend.all()
        except:
            _login_user = None
    # Page Bar
    _page_bar = formatter.pagebar(_users, _page_index, "", "control/userslist_pagebar.html")
    # Get message list
    _offset_index = (int(_page_index) - 1) * PAGE_SIZE
    _last_item_index = PAGE_SIZE * int(_page_index)
    # Get current page
    _users = _users[_offset_index:_last_item_index]
    # Body content
    _template = loader.get_template("users_list.html")

    _context = Context(
        {
            "page_tile": _page_title,
            "users": _users,
            "login_user_friend_list": _login_user_friend_list,
            "islogin": _islogin,
            "userid": __user_id(request),
            "page_bar": _page_bar,
        }
    )
    _output = _template.render(_context)
    return HttpResponse(_output)
示例#2
0
def index_user_page(request, _username, _page_index):

    # Get user login state
    _islogin = __is_login(request)
    _page_title = u"首页"

    try:
        # Get post params
        _message = request.POST["message"]
        _is_post = True
    except KeyError:
        _is_post = False

    # save message
    if _is_post:
        # check login
        if not _islogin:
            return HttpResponseRedirect("/signin/")
        # save message
        _category = Category.objects.get_or_create(name=u"网页")
        try:
            _user = User.objects.get(id=__user_id(request))
        except:
            return HttpResponseRedirect("/signin/")

        _note = Note(message=_message, category=_category, user=_user)
        _note.save(self, *args, **kwargs)
        return HttpResponseRedirect("/user/" + _user.username)

    _userid = -1
    # Get message list
    _offset_index = (int(_page_index) - 1) * PAGE_SIZE
    _last_item_index = PAGE_SIZE * int(_page_index)
    _login_user_friend_list = None
    if _islogin:
        # Get friend message if user is logined
        _login_user = User.objects.get(username=__user_name(request))
        _login_user_friend_list = _login_user.friend.all()
    else:
        _login_user = None

    _friends = None
    _self_home = False
    if _username != "":
        # there is get user's message
        _user = get_object_or_404(User, username=_username)
        _userid = _user.id
        _notes = Note.objects.filter(user=_user).order_by("-addtime")
        _page_title = u"%s" % _user.realname
        # Get friend lists
        _friends = _user.friend.get_query_set().order_by("id")[0:FRIEND_LIST_MAX]
        if _userid == __user_id(request):
            _self_home = True

    else:
        # Get all message
        _user = None

        if _islogin:
            _query_users = [_login_user]
            _query_users.extend(_login_user.friend.all())
            _notes = Note.objects.filter(user__in=_query_users).order_by("-addtime")
        else:
            # Get all user message
            _notes = Note.objects.order_by("-addtime")

    # Page bar
    _page_bar = formatter.pagebar(_notes, _page_index, _username)
    # Get current page
    _notes = _notes[_offset_index:_last_item_index]
    # Body content
    _template = loader.get_template("index.html")

    _context = Context(
        {
            "page_title": _page_title,
            "notes": _notes,
            "islogin": _islogin,
            "userid": __user_id(request),
            "self_home": _self_home,
            "user": _user,
            "page_bar": _page_bar,
            "friends": _friends,
            "login_user_friend_list": _login_user_friend_list,
        }
    )
    _output = _template.render(_context)
    return HttpResponse(_output)