码迷,mamicode.com
首页 > 其他好文 > 详细

因为中国队赢了,再撸一下DJANGO的官方文档吧

时间:2015-10-04 00:24:13      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

对比一下,CBVS和FBVS,哪个方便?

from django.shortcuts import render
from django.http import Http404
from django.shortcuts import get_object_or_404
from django.http import HttpResponse, HttpResponseRedirect
from .models import Question, Choice
from django.template import RequestContext, loader
from django.core.urlresolvers import reverse
from django.views import generic

# Create your views here.
def index(request):
    latest_question_list = Question.objects.order_by(pub_date)[:5]
    #template = loader.get_template(‘polls/index.html‘)
    #context = RequestContext(request, {‘latest_question_list‘: latest_question_list})
    #output = ‘,‘.join([p.question_text for p in latest_question_list])
    context = {latest_question_list: latest_question_list}
    return render(request, polls/index.html, context)

def detail(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    ‘‘‘
    try:
        question = Question.objects.get(pk=question_id)
    except Question.DoesNotExist:
        raise Http404("Question does not exist")
    ‘‘‘
    return render(request, polls/detail.html, {question: question})

def results(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    return render(request, polls/results.html, {question: question})

def vote(request, question_id):
    p = get_object_or_404(Question, pk=question_id)
    try:
        selected_choice = p.choice_set.get(pk=request.POST[choice])
    except(KeyError, Choice.DoesNotExist):
        return render(request, polls/detail.html, {
            question: p,
            error_message: "You did not select a choice.",
        })
    else:
        selected_choice.votes += 1
        selected_choice.save()
    return HttpResponseRedirect(reverse(polls:results, args=(p.id,)))

class IndexView(generic.ListView):
    template_name = polls/index.html
    context_object_name = latest_question_list

    def get_queryset(self):
        return Question.objects.order_by(-pub_date)[:5]

class DetailView(generic.DetailView):
    model = Question
    template_name = polls/detail.html

class ResultView(generic.DetailView):
    model = Question
    template_name = polls/results.html

技术分享

因为中国队赢了,再撸一下DJANGO的官方文档吧

标签:

原文地址:http://www.cnblogs.com/aguncn/p/4854019.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!