python 创建一个空向量_Python之Django系列-创建第一个应用-5

上一篇:Python之Django系列-创建第一个应用-4

这一章我们会讲到视图层怎么与数据库操作并返回数据到模板层进行渲染最终显示在页面上

投票应用基本上会有这么几个视图

  • 问题列表页
  • 问题详情页
  • 问题结果页
  • 投票处理器

在Django中,网页和其他内容都是通过视图派生而来,而视图可以看做Python里面的一个方法或函数,现在开始我们创建以上几个视图

找到polls/views.py文件并进行编辑

from django.http import HttpResponse#问题详情页def detail(request, question_id):    return HttpResponse("当前查看的问题 %s." % question_id)#问题结果页def results(request, question_id):    return HttpResponse("查看问题的结果 %s." % question_id)#投票处理器def vote(request, question_id):    return HttpResponse("进行投票 %s." % question_id)

然后把这些视图添加到polls/urls.py文件

urlpatterns = [    path('', views.index, name='index'),#问题列表页    path('/', views.detail, name='detail'),#问题详情页    path('/results/', views.results, name='results'),#问题结果页    path('/vote/', views.vote, name='vote'),#投票处理器]

然后再启动你的服务

python manage.py runserver

打开浏览器分别访问如下地址:

http://127.0.0.1:8000/polls/1/ 浏览器打印:当前查看的问题 1.

http://127.0.0.1:8000/polls/1/results/ 浏览器打印:查看问题的结果 1.

http://127.0.0.1:8000/polls/1/vote/ 浏览器打印:进行投票 1.

注意path方法中的路径有一个占位符,int代表请求参数类型,question_id映射视图里面写的参数question_id,而视图中的方法request则可以理解为http的request请求参数,后面会讲到

ebcad66d397f7091a1b50e6d735d44c6.png

到这,我们能简单的理解视图的一个工作流程,但是我们是需要和数据库交互,并把数据库保存的数据也展示在页面,首页我们先在polls目录下面创建一个templates目录,接着在templates目录里面继续创建一个polls目录,注意templates目录必须命名为此,不然会报错,原理是服务启动时,会扫描mysite/settings.py文件中的TEMPLATES变量,该变量的模板引擎使用的是django.template.backends.django.DjangoTemplates,而该引擎扫描的是INSTALLED_APPS中的所有templates目录

问题列表页

现在我们开始来实现我们的问题列表页,路径应为polls/templates/polls/index.html,我们开始html编辑前,需要对html语言有一定基础,如果需要,后续还会出html系列文章,如下:

    问题列表页面{% if latest_question_list %}    
{% for question in latest_question_list %} {{ question.question_text }} {% endfor %} {% else %}

No polls are available.

{% endif %}

同时改造下polls/views.py中的index方法如下:

from django.http import HttpResponsefrom django.template import loaderfrom .models import Question# ...为了让文章篇幅更短,此处省略其他方法def index(request):    latest_question_list = Question.objects.order_by('-pub_date')[:5]    template = loader.get_template('polls/index.html')    context = {        'latest_question_list': 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 Question# ...为了让文章篇幅更短,此处省略其他方法def index(request):    latest_question_list = Question.objects.order_by('-pub_date')[:5]    context = {'latest_question_list': latest_question_list}    return render(request, 'polls/index.html', context)

这样是不是看起来更简洁

问题详情页

问题详情页视图如下:

from django.http import Http404from django.shortcuts import renderfrom .models import Question# ...为了让文章篇幅更短,此处省略其他方法def detail(request, 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})

模板代码如下,路径应为polls/templates/polls/detail.html

    问题详情页{{ question }}

然后打开浏览器测试 http://127.0.0.1:8000/polls/1/ 就能查询出数据中该条数据的显示

下一篇:Python之Django系列-创建第一个应用-6

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新计算机无法 盘启动不了,U盘无法被电脑识别导致制作U盘启动盘失败怎么办?...

我们知道,装系统的方式有很多,从之前的光盘装系统到现在的网上直接下载资源装系统,装系统的方式已经变得越来越简便了,但是相对来说,不少用户还是更加喜欢选择使用U盘来装系统的方式,因为U盘要比光盘和硬盘…

塔勒布: 2019-nCoV的系统风险:一份笔记

来源:混沌巡洋舰塔勒布的思考值得更多人了解,下面是对该文的全文翻译和注解:新型冠状病毒在中国武汉出现,这一病毒具有致命危险,也具有高度传染性。中国至今的反应措施有,几大主要城市已经对数以千万计的人…

arm指令手册_平台/代码从上电到运行(ARM/Cortex-M)(一)

事实上, 网上可以搜出很多讲代码运行的相关帖子。但对于一些没入门的人来说理解起来仍有挑战性。 当然, 这篇日志也没必要从二极管、门电路、地球是怎样形成的之类的本源开始。 但尽量写的详细些, 主要目的在于把目前在这一方面认知整理成文&…

c++ amp vs2017 报错_opencv4教程-1 opencv的安装与调试Windows10+vs2017

安装解压我就不必多说了。将opencv解压到相应的文件目录下&#xff1a;在vs2017创建一个空的项目。可以设置成release或者debug模式&#xff0c;64位&#xff0c;具体随意&#xff0c;代码如下&#xff1a;#include <iostream>using namespace std;#include <opencv2/…

F-35战机头盔:揭密世界最先进的显示系统(HMDS)

F-35战斗机头盔显示系统&#xff08;HMDS&#xff09;来源&#xff1a;今日头条F-35战斗机的第三代头盔是世界上最先进的头盔显示系统(HMDS)&#xff0c;首次使用了虚拟成像技术&#xff0c;可以直接将画面投射到驾驶员的面罩之上&#xff0c;配以计算机的处理运算技术&#xf…

定义一个Matrix类,实现矩阵的加法和乘法

1 #include<iostream>2 using namespace std;3 4 class Matrix5 {6 int row;//矩阵的行7 int col;//矩阵的列8 int **a;//保存二维数组的元素9 public:10 Matrix();//默认构造函数11 Matrix(int r, int c);12 Matrix(const Matrix &is);//拷…

无法读取配置节aspnetcore_ASP.NET Core 配置和使用环境变量

(给DotNet加星标&#xff0c;提升.Net技能)转自&#xff1a;HueiFengcnblogs.com/yyfh/p/12339961.html前言通常在应用程序开发到正式上线&#xff0c;在这个过程中我们会分为多个阶段&#xff0c;通常会有 开发、测试、以及正式环境等。每个环境的参数配置我们会使用不同的参数…

计算机软件英文参考文献,软件工程英文参考文献(优秀范文105个)

当前,计算机技术与网络技术得到了较快发展,计算机软件工程进入到社会各个领域当中,使很多操作实现了自动化,得到了人们的普遍欢迎,解放了大量的人力.为了适应时代的发展,社会各个领域大力引进计算机软件工程.下面是软件工程英文参考文献105个&#xff0c;供大家参考阅读。软件工…

面对新型肺炎疫情,AI能做什么?

来源&#xff1a; AI科技大本营根据最新的新型冠状病毒疫情通报&#xff0c;截至1月30日24时&#xff0c;国家卫生健康委公布确诊病例9692例&#xff0c;重症病例1527例&#xff0c;累计死亡病例213例&#xff0c;另有疑似病例15238例。为防止疫情扩散&#xff0c;全国31省市自…

残疾人计算机高考试题,残疾人勇夺玉溪高考榜眼:想去清华学计算机

没有脚&#xff0c;思想可以替我走很远。矣晓沅网易教育频道综合讯 据春城晚报报道&#xff0c;6年前&#xff0c;备受类风湿关节炎折磨的矣晓沅在家中写下了一篇名为《第一片落叶》的故事&#xff0c;讲述了一个中学生纷繁复杂的校园生活。彼时的他只能坐在轮椅上&#xff0c;…

directx repair_DirectX修复工具增强版

DirectX修复工具最新版&#xff1a;DirectX Repair V3.9 增强版 NEW!版本号&#xff1a;V3.9.0.29371大小: 111MB/7z格式压缩&#xff0c;196MB/zip格式压缩&#xff0c;345MB/解压后其他版本&#xff1a;标准版 在线修复版MD5校验码&#xff1a;DirectX Repair.exe/eeab9900cc…

灯亮怎么办_车辆隔音效果不好怎么办?

会开车并不代表对车了如指掌日常生活中还是有好多车主被诸多问题困扰&#xff0c;比如车辆隔音效果不好怎么办&#xff1f;扳手形状的故障灯亮起是什么意思&#xff1f;今天&#xff0c;就由利星大连为您答疑解惑汽车隔音效果不好该怎么办&#xff1f;有车以后遇到噪音偏大的情…

Linux下使用iotop检测磁盘io使用情况

介绍 Linux下的IO统计工具如iostat, nmon等大多数是只能统计到per设备的读写情况, 如果你想知道每个进程是如何使用IO的就比较麻烦. iotop 是一个用来监视磁盘 I/O 使用状况的 top 类工具。iotop 具有与 top 相似的 UI&#xff0c;其中包括 PID、用户、I/O、进程等相关信息。 实…

springboot 2.3_SpringBoot对消息队列(MQ)的支持

1.异步消息的定义异步消息的主要目的是为了系统与系统之间的通信&#xff0c;所谓异步消息即消息发送者无需等待消息接收者的处理以及返回&#xff0c;甚至无需关心消息是否发送成功。在异步消息中有两个很重要的概念&#xff0c;即消息代理和目的地&#xff0c;当消息发送者发…

改变世界的十大经典物理实验及十大著名思想实验

来源&#xff1a;EETOP科学实验是物理学发展的基础&#xff0c;又是检验物理学理论的惟一手段&#xff0c;特别是现代物理学的发展&#xff0c;更和实验有着密切的联系。现代实验技术的发展&#xff0c;不断地揭示和发现各种新的物理现象&#xff0c;日益加深人们对客观世界规律…

智慧城市_城市大脑:加速构建智慧城市

(来源&#xff1a;天津数港)原标题&#xff1a;城市大脑&#xff1a;加速构建智慧城市加关注当前&#xff0c;伴随着5G、大数据、人工智能、区块链和新基建等一波又一波科技浪潮的到来&#xff0c;智慧城市的建设方兴未艾。然而&#xff0c;“智慧城市不智慧”的问题一直困扰着…

爱尔兰圣三一学院计算机全球排名,QS世界大学学科排名,爱尔兰圣三一学院20个学科进世界百强...

原标题&#xff1a;QS世界大学学科排名&#xff0c;爱尔兰圣三一学院20个学科进世界百强“爱尔兰、教育、悠久学术历史、世界一流、最大图书馆……”&#xff0c;看到这些关键词&#xff0c;个蹦入脑海中的是什么呢&#xff1f;相信大家都已经猜出来了&#xff0c;拥有如此之多…

nginx做服务器入口_「查缺补漏」巩固你的Nginx知识体系

Nginx篇基本介绍Nginx是一款轻量级的 Web服务器 / 反向代理服务器 / 电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器&#xff0c;主要的优点是&#xff1a;支持高并发连接&#xff0c;尤其是静态界面&#xff0c;官方测试Nginx能够支撑5万并发连接内存占用极低配置简单&…

Oracle 维护数据的完整性 一 索引

简介:索引是用于加速数据存取的数据对象,合理的使用索引可以大大降低i/o 次数,从而提高数据的访问性能. 当我们从一张表中检索我们需要的数据是,oralce往往会进行全表扫描,就是遍历所有的数据行,来找到我们需要的数据,并返回结果集给我们,这个过程就像下图: 当这个人需要去图书…

特征值_陶哲轩数学发现的故事 | 特征值特征向量等式

12月3日&#xff0c;陶哲轩在其个人博客上更新了一篇文章&#xff0c;https://terrytao.wordpress.com/2019/12/03/eigenvectors-from-eigenvalues-a-survey-of-a-basic-identity-in-linear-algebra/说他与合作者在arXiv上更新了此前关于特征值的文章Eigenvectors from Eigenva…