Python 板


LINE

就如同题目 我想问的是很基础的问题 事情是这样的 我是网页开发的初学者 这学期我上了一门课有教Javascript跟Python 最近公布了期末专题的题目 就是用Python写server side 用Javascript写client side 制作一个Web Application 我看去年作品有像关键字查节目表、线上乒乓球等等 没有其他任何提示跟要求 可是我们老师课堂上也只有讲讲语法而已 所以作为一个初学者 我对Python的理解只停留在 "在command line输入Python语法 产生对应结果" 完全没办法想像专题该如何完成以及Python网页开发的流程和架构 所以希望开发经验丰富的各位 可以为我介绍整个网页开发的流程和架构 举些我有在网路上看到的东西 jQuery, AJAX, JSON, CherryPy, Django, Google App Engine(好像有人说code 要deploy到这里之类的) 可以告诉我这些东西在网页开发中扮演那些脚色吗? 详细怎麽使用我相信我可以自己学好 毕竟我也是有累积了各种语言的coding经验 不过现在就是缺了一个"大局观" 到底每一层的东西要怎麽分工、怎麽连结在一起、怎麽做出一个互动性网页 希望好心人可以给我一个完整的概念 指引我一条路QQ 非常感谢 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 152.78.252.37
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Python/M.1415494217.A.093.html
1F:→ carylorrk: 不知道你的程度很难说明耶...你知道什麽叫 HTML/CSS 吗 11/09 10:23
2F:→ carylorrk: HTTP request/response 呢? 11/09 10:23
3F:→ carylorrk: 如果都不知道的话,建议你去看 web_design 置地文 11/09 10:24
4F:→ carylorrk: 或是跑一遍 w3schools tutorial(虽然很烂) 11/09 10:25
5F:推 jimmytzeng: 可以跟着Django的tutorial做一次 11/09 16:59
6F:→ fishlinghu: 我知道HTML 我也有写过PHP网页 我有资料库的概念 11/09 18:03
7F:→ fishlinghu: CSS我也用过 那篇置底文我大致都懂 也用过大部分 11/09 18:05
8F:→ fishlinghu: 现在是不知道Python跟做网页有何干 11/09 18:06
9F:→ fishlinghu: 还有那些工具(framework?)在整个架构负责哪部分 11/09 18:07
10F:→ mars90226: 有写过PHP就很好懂了,Python负责server端 11/09 18:38
11F:→ mars90226: 就像你在写PHP一样,会有server执行你写的PHP 11/09 18:38
12F:→ mars90226: server遇到request就产生对应的html回去给client 11/09 18:39
13F:→ mars90226: 所以Python要负责的就是根据request做对应的处理後 11/09 18:40
14F:→ mars90226: 产生对应的html回传,例如要对资料库处理,或进行运算 11/09 18:40
15F:→ mars90226: 的部分都是由Python完成的 11/09 18:41
16F:推 MacPerson: 跟着django走吧,你会觉得其实跟你写过的PHP差不多 11/10 00:00
17F:→ MacPerson: 重点是你写过的PHP是MVC架构的 11/10 00:00
18F:→ qoorocker: 如果只是小型应用 选cherrypy吧 django 太肥 XD 11/10 00:03
19F:→ carylorrk: PHP大多只是让 HTTP server (ex:Apache/Nginx)先处理过 11/10 02:27
20F:→ carylorrk: HTTP request 再呼叫 PHP code,然後 PHP 内部 lib 又 11/10 02:29
21F:→ carylorrk: 处理了一些事,你才可以直接写 PHP handler function 11/10 02:31
22F:→ carylorrk: 然後取得 request 的一些资料(像是用 $_GET取得 query 11/10 02:32
23F:→ carylorrk: parameter),并且回传 HTML,这些 HTML 又由 PHP Lib 11/10 02:36
24F:→ carylorrk: 和 HTTP server 包装成 response 传回 client 端。 11/10 02:36
25F:→ carylorrk: Python 看你是要自己处理 TCP connection 还是用内建的 11/10 02:37
26F:→ carylorrk: http.serve 都是很底层的方式。再来就是用 HTTP server 11/10 02:38
27F:→ carylorrk: 或是 cherrypy 这种来做比较强大的 HTTP 处理。 11/10 02:40
28F:→ carylorrk: 注意这里不是说两者等价 XD 11/10 02:42
29F:→ carylorrk: 前面都是在处理 HTTP protocol 的抽象化,Django 则更 11/10 02:44
30F:→ carylorrk: 多琢磨在网站程式架构的软工上面。最大的部分就是MVC, 11/10 02:46
31F:→ carylorrk: 像是 URL routing、HTML template、 database model 等 11/10 02:47
32F:→ carylorrk: 软体架构方便你撰写大型网站。不过当你写游戏的时候这 11/10 02:47
33F:→ carylorrk: 些东西可能并不是很适合。你可以看看 Django 的 tute 11/10 02:50
34F:→ carylorrk: 会更有感觉,再来自行判断需不需要 Django 的帮助。 11/10 02:51
35F:→ carylorrk: 再来就是你 Client 端到底熟悉吗?知道如何使用 JS 操 11/10 02:53
36F:→ carylorrk: 作 DOM 做一些效果或 check 吗?如果会的话我想 JQuery 11/10 02:54
37F:→ carylorrk: 概念上应该不会太难。 11/10 02:55
38F:→ carylorrk: 如果不熟悉就到 tute 的网站仔细看一遍,等学完基本的 11/10 02:59
39F:→ carylorrk: 程式语法及DOM操作後,一定会提到 AJAX。其实这个名字 11/10 03:00
40F:→ carylorrk: 已经跟原本不太符合了,不过现在简单来说就是由你的JS 11/10 03:00
41F:→ carylorrk: 程式向 server 发起 request(而非由browser)。这样的好 11/10 03:01
42F:→ carylorrk: 处是当你取得 response 後可以由 js 来处理并 update 11/10 03:02
43F:→ carylorrk: 部分的网页内容,可以避免整页重整的闪烁问题。 11/10 03:03
44F:→ carylorrk: 前面一直提到 response,通常 response 都是 HTML 页面 11/10 03:04
45F:→ carylorrk: 但是当用了 ajax,你的 response 可以只回传一些资料, 11/10 03:04
46F:→ carylorrk: 再由 js 处理并加入 html 当中。这里就要讲到资料的 11/10 03:05
47F:→ carylorrk: serialization。一般资料在不同程式语言的记忆体layout 11/10 03:06
48F:→ carylorrk: 一定会不同。像是 Python 的 Object 和 JS 的 object 11/10 03:07
49F:→ carylorrk: 显然差很多。serialization 就是把资料的表达方式规格 11/10 03:07
50F:→ carylorrk: 化。这种规格化可以是 binary (前32bit放 first field 11/10 03:09
51F:→ carylorrk: 等),或是人类理解的 text。XML 和 JSON 就是属於後者 11/10 03:09
52F:→ carylorrk: 他们规范了一些常见的资料形态(integer,string,array) 11/10 03:10
53F:→ carylorrk: 的文字表达方式,让不同程式、储存媒介都可以了解。这 11/10 03:11
54F:→ carylorrk: 样你就可以在 python 把资料 serialize 後放入 respons 11/10 03:12
55F:→ carylorrk: 再由 JS deserialize 得到资料来处理。 11/10 03:15
56F:→ carylorrk: 前端现在很流行的还有像是 backbone、angular等架构, 11/10 03:16
57F:→ carylorrk: 等你了解这些基本概念後再去看会觉得很舒服(?)XD 11/10 03:17
58F:→ carylorrk: 现在基本上你提到的几个 component 都串联起来了,最後 11/10 03:17
59F:→ carylorrk: 一个是 GAE。 GAE 基本上你可以想象他是一个帮你架好 11/10 03:18
60F:→ carylorrk: HTTP server,灌好环境(python、library、database)的 11/10 03:19
61F:→ carylorrk: 一台 server。所以你只要上传程式就可以直接变成网站。 11/10 03:20
62F:→ carylorrk: 不过比较特别的是你要注意他『灌』的那些环境可能跟一 11/10 03:20
63F:→ carylorrk: 般不太一样,所以你需要好好看一遍他有哪些东西可以用 11/10 03:21
64F:→ carylorrk: 我这辈子第一次写网站(国中用 frontpage 拉的除外)就 11/10 03:22
65F:→ carylorrk: 是 Django + GAE + Google map 和 FB 的 js api。了解 11/10 03:23
66F:→ carylorrk: 第一次写要串联一定很痛苦XD 遇到问题先写看看试看看就 11/10 03:25
67F:→ carylorrk: 对了。有的时候远比看一堆资料还来得有用! 11/10 03:25
68F:→ carylorrk: PS. 我对游戏部分不熟,所以可能要看其他版友的经验了 11/10 03:26
69F:推 carylorrk: 还有,等你实际写过後会发现我讲的很多是简化甚至错误 11/10 03:30
70F:→ carylorrk: 的,这里只是用比较易懂的方式讲解。也有可能是我本来 11/10 03:31
71F:→ carylorrk: 概念就不好啦,毕竟一辈子也没写过几次网页 XD 11/10 03:31
72F:→ fishlinghu: 非常谢谢你愿意花时间回了这麽详细QQ 11/10 06:53
73F:→ fishlinghu: 我今天看了很多资料 在看你说的东西有比较懂了! 11/10 06:54
74F:→ fishlinghu: 被你一说我才发现我好像写过client端的Javascript 11/10 06:54
75F:→ fishlinghu: 当时应该就是Server端的部分有人用Python写好了所以 11/10 06:55
76F:→ fishlinghu: 我才没有知觉XD 现在我要来认真检视一下哪个framework 11/10 06:56
77F:→ fishlinghu: 比较适合我想做的东西了 超感谢你的解惑!! 11/10 06:56
78F:→ carylorrk: 事实上 server 端用什麽语言,包括 PHP,都可以啦! 11/13 15:43
79F:→ carylorrk: 只是想说一开始写 PHP 普遍过於依赖嵌入功能。并没有说 11/13 15:45
80F:→ carylorrk: PHP 没办法达到什麽功能或多不好之类的XD 11/13 15:45







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP