跟着销售学python8-微信平台初次见识数据库(6)

 本来是计划跟着learn python the hard way ,继续下去, 不过中途补充一下,网页的基础知识吧,也不耽搁了。


[摘录]:用来记下,之前不理解的 地方?

  1.web.py  引入数据库的路径问题。   --已解决

 2、index.html调用参数,数据库中,怎么调用?   --已解决

数据库的学习

  只是知道一些数据库的知识, 一步步来吧,实战中学习呢。

 为什么要学数据库?

    上节中我们调用了move字典,但是如果我们是个网站,这些数据,如果只是字典的话,恐怕没法吧, 下面我们就要用数据库实现上篇的例子。

 为什么要学习?

     是不是又要多学东西呢?   呵呵,世界就是这样的,一句learn python the  hard way的话,

不管是什么原因,你一定要坚持下去,放弃的话,你会失去达到这个程度的机会。

SQLlite3的学习

(1)是不是从基础再学习, 还是先简单的解决。

(2)不如看看我们要解决的问题是什么?

         解决上一课的问题,那需要很复杂吗? 不需要

        那就简单的解决, 以后如果在遇到,在回头学啊。主力是解决python. 

SQLite3的基础

    sqlite3的基础是sql结构数据库,大致百度一下,看了看,不属于sql服务器,至于细节目前我们暂时搁置, 先看看SQL数据库的知识, 还是老地方w3school       

什么是数据库?

     

这个电子表格,名字叫 python2015web, 表1叫电影库,表2叫读者库,                           对应sql, python2015web就是数据库, 电影库就是数据库表。


   虽然上面是电子表格,但是数据库表就是这个样子的。

     不同的是,电子表格,基本是你手填上去的,而这里大多数是用命令。

   sql把命令分为两种,一种是直接操作电子表格内,一种是建立表和文件名的。

    操作电子表格的有:

       select 查询数据库并获得数据。

       update 更新数据库的数据。

       insert into :  插入数据库的数据

      delete : 删除数据库的数据。

  另一种:

       create  database   ,建立数据库

       alter  database ,  修改数据库

       create  table  ,建立数据库表

       alter  table , 修改数据库表

       drop  table ,  删除数据库

        create index , 创建索引

       drop  index,   删除索引 


 数据库的一些小知识:

1:  select 列名, select * from table

2:   sql 用单引号围绕文本值,如果是数值,不用单引号。

3:  where 

        有条件选取数据。

      select * from 数据库表 where 'city' = 'beijjing';


pyton中如何运用

 (1)首先在sqllite3 建立我们的数据库。

  (venv)lixiang gothonweb $ sqlite3 movesite.db

SQLite version 3.8.5 2014-08-15 22:37:57

Enter ".help" for usage hints.

sqlite> create table move('id','name','author','year','nation');

sqlite> select * from move;

sqlite> insert into move values(1,'哆啦A梦','藤子F不二雄',2014,'日本');

sqlite> insert into move values(1,'海洋之歌','汤姆摩尔',2014,'法国');

sqlite> select * from move;

1|哆啦A梦|藤子F不二雄|2014|日本

1|海洋之歌|汤姆摩尔|2014|法国

sqlite>.quit

    是不是很简单啊。

(2)开始数据库制作网页了。

         修改web.py 文件


importweb 

urls = ('/','Index')

db = web.database(dbn='sqlite',db='../movesite.db')

app = web.application(urls,globals())

render = web.template.render('templates/')

class  Index:

def GET(self):

movies = db.select('move')

return render.index(movies)

if__name__ =='__main__':

app.run()

class 'sqlite3.OperationalError' ,   发生错误

  应该是数据库路径的问题,复制到数据库到web.py同级目录下看看,并修改路径。同时记下困惑python下的绝对路径问题。

index.htm:

$def with (movies)

豆瓣movies

$movies

发现浏览器显示:

 数据是十六进制,不对参数引用错误。

$def with (movies)

豆瓣movies

$movies['name']

   继续出现问题,

           IndexError 

  应该是movies['name'], 回头想想,错误的原因就是不知道取movies参数的值。

  改成问题:

  $movies.name

 一样还是出现问题。

exceptions.attributeError

 累了,学习就是这样的。。。    错误不知道 出现在哪里?  

 修改一下了index.htm

$def with (movies)

豆瓣movies

$def with (movies)

豆瓣movies

<ui>

 $for movename in movies:

<li>

         $movename.name,$movename.year,$movename.nation  

</li>

  这个时候, 页面显示正常了, 由此可见了。 

 数据库传输过来了一定是一组对象。下面是服务器的显示。

http://0.0.0.0:8080/

0.0 (1): SELECT * FROM move

127.0.0.1:52985 - - [13/May/2015 13:27:34] "HTTP/1.1 GET /" - 200 OK

0.0 (1): SELECT * FROM move

127.0.0.1:52985 - - [13/May/2015 13:27:36] "HTTP/1.1 GET /" - 200 OK

0.0 (1): SELECT * FROM move

127.0.0.1:52985 - - [13/May/2015 13:27:38] "HTTP/1.1 GET /" - 200 OK

0.0 (1): SELECT * FROM move

127.0.0.1:52996 - - [13/May/2015 13:29:07] "HTTP/1.1 GET /" - 200 OK

0.0 (1): SELECT * FROM move

127.0.0.1:52999 - - [13/May/2015 13:29:33] "HTTP/1.1 GET /" - 200 OK

0.0 (1): SELECT * FROM move

127.0.0.1:52999 - - [13/May/2015 13:29:37] "HTTP/1.1 GET /" - 200 OK

0.0 (1): SELECT * FROM move

127.0.0.1:53002 - - [13/May/2015 13:29:54] "HTTP/1.1 GET /" - 200 OK

     直接调用, select *  from move

不过,让我有些感兴趣的是 :127.0.0.1 后面,变化的端口。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容