通过命令行方式访问数据库:

[root@localhost web]$ python manage.py shell             # 进入交互模式(先安装ipython)

In [1]: from blog.models import Host                     # 导入数据模型

In [4]: node = Host.objects.all()                        # 实例化一个模型管理对象,通过这个对象来操作数据库

In [6]: node.values()                                    # 查询数据,相当于 select * from Host

In [8]: n1 = Host(hostname='node01', ip='192.168.1.1')   # 插入数据,结果返回一个表对象,需要通过对象来保存插入的数据

In [9]: n2 = Host(hostname='node02', ip='192.168.1.2')   # 插入数据,结果返回一个表对象,需要通过对象来保存插入的数据
In [10]: n1.save() # 保存到数据库,可以通过上面的 node.values() 查询插入的数据 In [11]: n2.save()                                      # 保存到数据库,可以通过上面的 node.values() 查询插入的数据
In [20]: n3 = Host()                                     # 第二种插入数据的方法,先实例化一个表对象,再通过对象来插入/保存数据

In [21]: n3.hostname = 'node03'

In [22]: n3.ip = '192.168.1.3'

In [23]: n3.save()

通过视图文件访问数据库:

[root@localhost web]$ cat web/urls.py

urlpatterns = patterns('',
....
url(r'^db/$', 'blog.views.db'), # 先定义访问的URL,然后再根据URL定义视图文件
)
[root@localhost web]$ cat blog/views.py
from django.shortcuts import render
from django.http import HttpResponse
from django.template import loader, Context
from blog.models import Host def db(request):
h = Host()
h.hostname = 'node04'
h.ip = '192.168.1.4'
h.save()
return HttpResponse("OK")

通过 Web 界面访问数据库:

[root@localhost web]$ cat blog/admin.py    # 首先需要在应用的后台管理站点配置中注册模型
from django.contrib import admin # 注册的目的是为了让数据模型在Web后台界面中显示
from blog.models import Host # 导入数据模型 class HostAdmin(admin.ModelAdmin):
list_display = ['hostname', 'ip'] # 指定要显示的字段 admin.site.register(Host, HostAdmin) # 注册数据模型
[root@localhost web]$ python manage.py runserver 0.0.0.0:8000    # Starts a lightweight Web server for development

Django 访问数据库的更多相关文章

  1. Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 httplib模块 django和web服务器整合 wsgi模块 gunicorn模块

    Python第十三天   django 1.6   导入模板   定义数据模型   访问数据库   GET和POST方法    SimpleCMDB项目   urllib模块   urllib2模块 ...

  2. 「Django」数据库访问优化

    先做性能分析 - 两个工具 django.db.connection from django.db import connection# contextprint connection.queries ...

  3. django 操作数据库--orm(object relation mapping)---models

    思想 django为使用一种新的方式,即:关系对象映射(Object Relational Mapping,简称ORM). PHP:activerecord Java:Hibernate C#:Ent ...

  4. python学习笔记--Django入门三 Django 与数据库的交互:数据建模

    把数据存取逻辑.业务逻辑和表现逻辑组合在一起的概念有时被称为软件架构的 Model-View-Controller (MVC)模式.在这个模式中, Model 代表数据存取层,View 代表的是系统中 ...

  5. Django模型-数据库操作

    前言 前边记录的URLconf和Django模板全都是介绍页面展示的东西,也就是表现层的内容.由于Python先天具备简单而强大的数据库查询执行方法,Django 非常适合开发数据库驱动网站. 这篇开 ...

  6. django模型——数据库(二)

    模型--数据库(二) 实验简介 模型的一些基本操作,save方法用于把对象写入到数据库,objects是模型的管理器,可以使用它的delete.filter.all.order_by和update等函 ...

  7. Django 的数据库查询

    class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() def _ ...

  8. django models 数据库操作

    django models 数据库操作 创建模型 实例代码如下 from django.db import models class School(models.Model): pass class ...

  9. 第二章、Django以及数据库的配置

    目录 第二章.Django以及数据库的配置 一.小白必会三板斧 二.静态文件配置 三.form表单 action和method参数可以写的形式 四.request对象及方法 五.django连接数据库 ...

随机推荐

  1. FPGA中的时序分析(三)

    验证公式正确性   前两篇博客提及了关于时序的建立余量和保持余量的计算.结合实际情况,验证公式的运算正确性.结合之前博客提及的LED实验,看一下建立余量和保持余量是否都合格. 建立余量 图1是最大时钟 ...

  2. Self_Java + Selenium + Maven 环境搭建步骤

    转自:http://www.jianshu.com/p/3c05e8c9ee81 我们使用Java+Selenium WebDriver 来进行环境的搭建,同样分为两个部分: 安装Java 和 int ...

  3. SpagoBI 教程 Lesson 4: BIRT Reports

    SpagoBI Lesson 4: BIRT Reports BIRT BIRT is the acronym for Business Intelligence and Reporting Tool ...

  4. (笔记)Linux常用命令大全

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...

  5. 多线程系列八:线程安全、Java内存模型(JMM)、底层实现原理

    一.线程安全 1.  怎样让多线程下的类安全起来 无状态.加锁.让类不可变.栈封闭.安全的发布对象 2. 死锁 2.1 死锁概念及解决死锁的原则 一定发生在多个线程争夺多个资源里的情况下,发生的原因是 ...

  6. [poj 1947] Rebuilding Roads 树形DP

    Rebuilding Roads Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 10653 Accepted: 4884 Des ...

  7. form中的button按钮在IE11中自动提交表单问题导致弹出框关闭之后表单被重置

    最近几天,测试系统,遇到一个兼容性问题,form中有一个button按钮,没有指定type类型,点击按钮弹出框选择值之后回填给form上的一个单行文本框,在IE6.IE7.IE8.IE9.IE10中测 ...

  8. 简明Linux命令行笔记:touch

    创建文件或修改文件时间 touch [options] file-list 参数 file-list是touch将要创建或更新的文件路径名 选项 -a                    只更新访问 ...

  9. Java排序算法——堆排序

    堆排序 package sort; public class Heap_Sort { public static void main(String[] args) { // TODO 自动生成的方法存 ...

  10. 限定某个目录禁止解析php 限制user_agent php相关配置