• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 在Django的视图中使用数据库查询的方法

在Django的视图中使用数据库查询的方法

作者:goldensun 字体:[增加 减小] 来源:互联网

goldensun 通过本文主要向大家介绍了django 通用视图,django视图,django 数据库操作,django 数据库,django连接数据库等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在视图中也有笨方法可以从数据库中获取数据。 很简单: 用现有的任何 Python 类库执行一条 SQL 查询并对结果进行一些处理。

在本例的视图中,我们使用了 MySQLdb 类库(可以从 http://www.djangoproject.com/r/python-mysql/ 获得)来连接 MySQL 数据库,取回一些记录,将它们提供给模板以显示一个网页:

from django.shortcuts import render_to_response
import MySQLdb

def book_list(request):
  db = MySQLdb.connect(user='me', db='mydb', passwd='secret', host='localhost')
  cursor = db.cursor()
  cursor.execute('SELECT name FROM books ORDER BY name')
  names = [row[0] for row in cursor.fetchall()]
  db.close()
  return render_to_response('book_list.html', {'names': names})

</div>

这个方法可用,但很快一些问题将出现在你面前:

    我们将数据库连接参数硬行编码于代码之中。 理想情况下,这些参数应当保存在 Django 配置中。

    我们不得不重复同样的代码: 创建数据库连接、创建数据库游标、执行某个语句、然后关闭数据库。 理想情况下,我们所需要应该只是指定所需的结果。

    它把我们栓死在 MySQL 之上。 如果过段时间,我们要从 MySQL 换到 PostgreSQL,就不得不使用不同的数据库适配器(例如 psycopg 而不是 MySQLdb ),改变连接参数,根据 SQL 语句的类型可能还要修改SQL 。 理想情况下,应对所使用的数据库服务器进行抽象,这样一来只在一处修改即可变换数据库服务器。 (如果你正在建立一个开源的Django应用程序来尽可能让更多人使用的话,这个特性是非常适当的。)

正如你所期待的,Django数据库层正是致力于解决这些问题。 以下提前揭示了如何使用 Django 数据库 API 重写之前那个视图。

from django.shortcuts import render_to_response
from mysite.books.models import Book

def book_list(request):
  books = Book.objects.order_by('name')
  return render_to_response('book_list.html', {'books': books})

</div>

我们将在本章稍后的地方解释这段代码。 目前而言,仅需对它有个大致的认识。

</div>

您可能想查找下面的文章:

  • 详解Django框架中的视图级缓存
  • 详解Django框架中的视图级缓存
  • 详解Django通用视图中的函数包装
  • 在Django的通用视图中处理Context的方法
  • Django框架中的对象列表视图使用示例
  • 在Django中创建动态视图的教程
  • 在Django中创建第一个静态视图
  • 在Django的视图中使用数据库查询的方法
  • Django框架下在视图中使用模版的方法
  • 在Django中创建动态视图的教程

相关文章

  • Python实现的检测web服务器健康状况的小程序
  • Python使用函数默认值实现函数静态变量的方法
  • Python 转义字符详细介绍
  • Python三元运算实现方法
  • Python 常用的安装Module方式汇总
  • 视觉直观感受若干常用排序算法
  • 在类Unix系统上开始Python3编程入门
  • 详解python并发获取snmp信息及性能测试
  • python为tornado添加recaptcha验证码功能
  • python网络编程学习笔记(六):Web客户端访问

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python实现字符串连接的三种方法及其效率、适用场景详解
    • Python 递归函数详解及实例
    • Django实现图片文字同时提交的方法
    • Python装饰器基础详解
    • python使用scrapy解析js示例
    • Python中Django框架利用url来控制登录的方法
    • Python内置函数Type()函数一个有趣的用法
    • 从零学Python之入门(五)缩进和选择
    • 解读Django框架中的低层次缓存API
    • Python的条件语句与运算符优先级详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有