> 美容
pytho创建djago项目(pytho创建dict的方法)
导语:Python之Django系列-创建第一个应用-5
上一篇:Python之Django系列-创建第一个应用-4
这一章我们会讲到视图层怎么与数据库操作并返回数据到模板层进行渲染最终显示在页面上
投票应用基本上会有这么几个视图
问题列表页问题详情页问题结果页投票处理器在Django中,网页和其他内容都是通过视图派生而来,而视图可以看做Python里面的一个方法或函数,现在开始我们创建以上几个视图
找到polls/views.py文件并进行编辑
from django.http import HttpResponse34;当前查看的问题 %s.&问题结果页def results(request, question_id): return HttpResponse(&34; % question_id)34;进行投票 %s.&39;&39;index&问题列表页 path(&39;, views.detail, name=&39;),39;<int:question_id>/results/&39;results&问题结果页 path(&39;, views.vote, name=&39;),34;utf-8&34;{% url &39; question.id %}& ...为了让文章篇幅更短,此处省略其他方法def index(request): latest_question_list = Question.objects.order_by(&39;)[:5] template = loader.get_template(&39;) context = { &39;: latest_question_list, } return HttpResponse(template.render(context, request))
该方法中的Question.objects如果不清楚,可以查看Python之Django系列-创建第一个应用-4
get_template方法是加载模板,template.render是指把context内容渲染到模板,此时再打开页面http://127.0.0.1:8000/polls/将会看到一个列表
当然Django为我们提供了一个更简便的方法render,上面的index经改造后如下:
from django.shortcuts import renderfrom .models import Question39;-pub_date&39;latest_question_list&39;polls/index.html& ...为了让文章篇幅更短,此处省略其他方法def detail(request, question_id): try: question = Question.objects.get(pk=question_id) except Question.DoesNotExist: raise Http404(&34;) return render(request, &39;, {&39;: question})
模板代码如下,路径应为polls/templates/polls/detail.html
<!DOCTYPE html><html lang=&34;><head> <meta charset=&34;> <title>问题详情页</title></head>{{ question }}
然后打开浏览器测试 http://127.0.0.1:8000/polls/1/ 就能查询出数据中该条数据的显示
下一篇:Python之Django系列-创建第一个应用-6
本文内容由小樊整理编辑!