django get_object_or_404 是django shortcuts模块里面一个比较简便的方法,特别是用django get来操作数据库的时候,可以帮 我们少写一些代码,加快开发速度。
get_object_or_404的介绍: 我们原来调用django 的get方法,如果查询的对象不存在的话,会抛出一个DoesNotExist的异常, 现在我们调用django get_object_or_404方法,它会默认的调用django 的get方法, 如果查询的对象不存在的话,会抛出一个Http404的异常,我感觉这样对用户比较友好, 如果用户查询某个产品不存在的话,我们就显示404的页面给用户,比直接显示异常好。
get_object_or_404一般需要3个参数:
1. modelname:一个model,manage,或query对象。
2. *args
3. **kwargs 而后面的*args,**kwargs则是查询的时候用到的参数。
下面用个例子看来下:
from django.shortcuts import get_object_or_404
product = get_object_or_404(Product, pk=1)
Product是要查询的model,后面的pk=1是查询条件,你可以根据你需要查询的情况来写条件。 上面的例子也可以写成下面这样的形式:
from django.http import Http404
try:
product = Product.objects.get(pk=1)
except MyModel.DoesNotExist:
raise Http404
看来用django get_object_or_404方法可以省下你很多操作,有兴趣可以看看django.shortcuts 模块包里面的其他的方法, 会让你能够在提高编程的效率。
作者:老王@python python 教程
老王python,提供python相关的python 书籍,python 主机,django 教程和python 下载,希望大家能够喜欢!
分享到:
相关推荐
标题中的"PyPI 官网下载 | django-gaekit-0.1.1.tar.gz"揭示了我们正在处理一个Python项目的发布版本,这个项目在Python的包索引(PyPI)上可用...开发者需要熟悉Python和Django基础知识,才能有效地使用和贡献这个库。
### 测试驱动开发(TDD)在Django与...以上内容涵盖了本书《tdd-for-web-development-with-django-and-selenium》的部分关键知识点,这些知识点不仅对学习Django和Selenium有帮助,同时也适用于更广泛的Web开发领域。
【标题】"blogphoto_Django:在Django框架中开发的Flog项目"涉及的知识点主要集中在使用Python的Django框架构建一个博客照片分享平台,而【描述】中提到的"Flog项目"可能是"博客(Blog)"和"照片(Photo)"的组合,...
基于以上信息,我们可以探讨以下几个与编程相关的知识点: 1. **编程基础**:博客中可能会涵盖各种编程语言的基础知识,如Python、Java、C++等,这些基础知识包括语法、数据类型、控制结构、函数定义等。 2. **...
1. **编程语言和框架**:作者可能会分享关于不同编程语言(如Python、Java、JavaScript等)的学习经验,以及使用特定框架(如React、Django、Vue.js等)的心得体会。这些内容对于初学者和有经验的开发者来说都是宝贵...
在深入探讨相关知识点之前,我们需要了解一点关于代码版本管理和压缩文件的基本知识。 首先,源代码是程序员用编程语言编写的文本文件,这些文件包含了计算机执行的指令。为了使项目易于维护和协作,开发人员通常会...
我们将深入探讨互联网应用程序(简称App)的相关知识点,特别是与网络连接、功能实现、用户体验以及可能涉及到的技术栈。 在互联网应用开发中,前端和后端的协同工作至关重要。前端部分主要负责用户界面的设计和...
博文链接指向的ITEYE博客文章可能详细介绍了某个特定框架的开发过程或者分享了关于如何构建和优化框架的技巧。由于具体描述为空,我们可以从一般性的框架开发角度来探讨这一主题。 框架开发是软件开发中的一种重要...
描述中的“论文”一词进一步证实了这一点,暗示我们可能涉及到的是学术性质的资料,涵盖了理论分析、实验设计、结果解释等方面。Python作为标签,说明这些论文的内容与Python语言及其应用密切相关,可能探讨了Python...
Python在Web开发方面有Django和Flask等流行的框架。虽然这个教程可能不会深入到框架的细节,但可能会介绍基础的HTTP协议和如何使用Python构建简单的Web应用。 **自动化和脚本** Python是编写自动化脚本的理想选择...
在这个平台上,用户可以找到各种类型的网站构建代码,学习和分享关于网页开发、设计以及编程的相关知识。在进一步探讨之前,我们需要明确一点,由于提供的信息有限,以下的分析基于一般的行业理解和假设。 首先,全...
虽然标签是"JavaScript",但这可能是因为该资源是由熟悉JavaScript的开发者创建或分享的,或者在某些作业中可能会涉及到JavaScript与Python的对比,或者是JavaScript的初步知识作为预备知识。不过,主要焦点仍然是...
8. **版权问题**:在创建和分享模拟截图时,用户应尊重原创,避免侵犯他人的知识产权,如不传播虚假信息或盗用他人图片。 总的来说,这款“朋友圈转发截图生成工具源码”是一个结合了前端开发、后端开发、移动应用...
从标题来看,它显然是受到 GeeksforGeeks 的启发,这是一个知名的在线学习平台,专注于编程和技术知识的分享。这个项目可能是为了实践、教学或者为 GeeksforGeeks 的用户创建一个专用的服务器环境。 在描述中,虽然...
标题"Projects:展示项目"暗示了我们正在讨论的是一些可以展示的项目实例,可能是为了教学、示范或分享最佳实践。描述中的“专案 展示项目”进一步确认了这一点,意味着我们将探讨的是一个包含多个项目的集合,这些...
以上就是基于题目描述的一些Python应用程序开发相关的知识点,涵盖了从基础编程到高级实践的多个方面。在实际项目中,开发者需要不断学习和掌握这些技能,以创建高效、稳定且易于维护的应用程序。
Python的`Flask`或`Django`框架可以轻松实现这一点。 7. 数据库操作:若数据存储在数据库中,如MySQL或SQLite,Python的`sqlite3`或`psycopg2`(对于PostgreSQL)库可以用来读取和写入数据。 8. 自动化报告:使用`...
下面我们将深入探讨`file-uploader`实现这些功能的相关知识点。 首先,`file-uploader`可能使用了Python的`Flask`或`Django`等Web框架来构建服务器端接口,这些框架提供了处理HTTP请求和响应的强大功能。在处理大...
这个资源列表可能是由个人维护,并鼓励其他人贡献和分享。描述中的“我发现有用的编程资源的精选列表”进一步证实了这一点,意味着这个压缩包包含了作者认为对编程学习者或开发者有价值的资源。 标签 "HTML" 指出这...