|
废话就不多说了,开始。。。
这两天想研讨下ajax,看到《head first ajax》这本书,惜可面里用的是php,服务器有关的技巧我只懂django,所以就用他了。
用户注册种这货色很见常,当入输用户名的时候该应可以当即查检这个用户名否是被注册了,这就是hf这本书第二章讲的货色。由于不想用数据库(没必要啊,主要是训练前端),所以数据存储部份择选xml或者json,xml还是很费事的,json看起来清新多了,就用json了。
自定义的数据式格,比对xml于json:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <usres>
3 <user>
4 <name>duoduo</name>
5 </user>
6 </usres>
1 {
2 "users": [
3 {
4 "name": "duoduo"
5 },
6 {
7 "name": "lili"
8 }
9 ]
10 }
json的式格说明可见:http://json.org/json-zh.html
完全的验实代码
View Code
1 import json
2 import os
3 path = os.path.join('.','user.json')
4
5 def get_json_from_file(path):
6 f = file(path)
7 try:
8 j = json.load(f)
9 finally:
10 f.close()
11 return j
12
13 def write_to_file(s,path):
14 f = file(path,'w')
15 try:
16 f.write(s)
17 finally:
18 f.close()
19
20 def is_register(user_name,uers_json):
21 users = uers_json['users']
22 for user in users:
23 if user['name'] == user_name:
24 return True
25 return False
26
27 def add_user(user_name,user_json,path):
28 users = user_json['users']
29 users.append(dict(name=user_name))
30 write_to_file(json.dumps(user_json),path)
31
32 def register(user_name):
33 path = os.path.join('.','user.json')
34 users_info = get_json_from_file(path)
35 if not is_register(user_name,users_info):
36 add_user(user_name,users_info,path)
37 return True
38 return False
get_json_from_file是从一个json式格的文件中得获对应的python对象,json的{}对应python的字典,[]对应list。
is_register判断用户否是注册。
add_user将未注册的用户行进注册,并通过write_to_file将新的数据写回到文件夹。
python的json库中有load,dump于loads,dumps,带s的操纵的对象都是与字符串类似的对象,不带s的一组则操纵与文件类似的对象。
最后是操纵的演示:
文章结束给大家分享下程序员的一些笑话语录: 小沈阳版程序员~~~ \n程序员其实可痛苦的了......需求一做一改,一个月就过去了;嚎~ \n需求再一改一调,一季度就过去了;嚎~ \n程序员最痛苦的事儿是啥,知道不?就是,程序没做完,需求又改了; \n程序员最最痛苦的事儿是啥,知道不? 就是,系统好不容易做完了,方案全改了; \n程序员最最最痛苦的事儿是啥,知道不? 就是,系统做完了,狗日的客户跑了; \n程序员最最最最最痛苦的事儿是啥,知道不? 就是,狗日的客户又回来了,程序给删没了! |
|
|