示例#1
0
def view_question(request,  question_id):
    option = request.GET.get('option', 'highest_rated')
    
    page = request_helpers.get_page(request)
    user = request.user
    question = get_object_or_404(models.Question, id = question_id)
    question.accepted_answer = models.Question.objects.get_accepted_answer(question)
    AnswerForm = forms.build_answer_form()
    
    if user and request.POST:
        answer_form = AnswerForm(request.POST,  request.FILES)
        answer_form.question = question
        answer_form.user = user
        if answer_form.is_valid():
            answer = models.Answer.objects.answer_question(answer_form.cleaned_data['answer'], question, user)
    else:
        answer_form = AnswerForm()
    
    answers = models.Question.objects.get_answers(question, option)
    current_page, page_range = pagination.paginate_queryset(answers, 20, 5, page)
    
    View.objects.add(question, request_helpers.get_ip(request))
    
    return shortcuts.render_to_response(
                'django_qa/view.html', 
                {'question':question,  
                 'form':answer_form,  
                 'is_owner':question.user.id == user.id,
                 'current_page':current_page,
                 'page_range':page_range,
                 'sort':option}, 
                context_instance = RequestContext(request),
    )
示例#2
0
def projects_list(request, option = 'most_active'):
    page = request_helpers.get_page(request)
    codes = models.Project.objects.all()
    
    current_page, page_range = pagination.paginate_queryset(codes, 20, 5, page)
    
    return shortcuts.render_to_response(
                'projects/list.html', 
                {'current_page':current_page,  
                 'page_range':page_range,  
                 'sort':option}, 
                context_instance = RequestContext(request),
    )
示例#3
0
def browse_users(request):
    """
    Displays a paginated list of all users sorted by reputation.
    """
    page = request_helpers.get_page(request)
    
    users = User.objects.filter(is_superuser = False).order_by('-reputation__reputation')
    current_page, page_range = pagination.paginate_queryset(users, 30, 5, page)
    
    return shortcuts.render_to_response('django_community/browse.html',
                                        {'current_page':current_page,  
                                        'page_range':page_range},
                                        context_instance = RequestContext(request))
示例#4
0
def browse_users(request):
    """
    Displays a paginated list of all users sorted by reputation.
    """
    page = request_helpers.get_page(request)

    users = User.objects.filter(
        is_superuser=False).order_by('-reputation__reputation')
    current_page, page_range = pagination.paginate_queryset(users, 30, 5, page)

    return shortcuts.render_to_response(
        'django_community/browse.html', {
            'current_page': current_page,
            'page_range': page_range
        },
        context_instance=RequestContext(request))
示例#5
0
 def __call__(self, request, option = 'most_recent'):
     page = request_helpers.get_page(request)
     
     if self.ordered:
         objects = self.model.objects.get_sorted_objects(option)
     else:
         objects = self.model.objects.all()
 
     current_page, page_range = pagination.paginate_queryset(objects, self.per_page, 5, page)
 
     return shortcuts.render_to_response(
             self.template,
             {'current_page':current_page,  
              'page_range':page_range,  
              'sort':option}, 
             context_instance = RequestContext(request),
     )
示例#6
0
def search(request, load_all=True, form_class=SearchForm, searchqueryset=None, context_class=RequestContext, extra_context=None):
    page = request_helpers.get_page(request)
    query = ''
    results = []
    
    if request.GET:
        form = form_class(request.GET, searchqueryset=searchqueryset, load_all=load_all)
        
        if form.is_valid():
            query = form.cleaned_data['q']
            results = form.search()
            current_page, page_range = pagination.paginate_queryset(results, 30, 5, page)
    else:
        current_page, page_range = None, None
        
    context = {
        'current_page':current_page,  
        'page_range':page_range,
        'query': query,
    }
    
    return shortcuts.render_to_response('search/search.html', 
                                        context, 
                                        context_instance=context_class(request))