为什么80%的码农都做不了架构师?>>>   

说实话七天学完Python,确实有些难度。O(∩_∩)O哈哈~ 七天只是约数。

今天学的东西比较杂乱,看了些Django的model和view,早晨还看了一点socket编程方面,刚才还看了些sqlite3的一下东西。下面分开来写下吧。

(一)SQLite3

Ubuntu下面安装

dizzy@dizzy-pc:~$ sudo apt-get install sqlite3

SQLite3使用还是比较简单的,一个数据库文件就能搞定。

打开数据库:

dizzy@dizzy-pc:~/Python/django_project/form_test$ sqlite3 db.sqlite3
SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

然后就可操作当前打开的数据库了:

sqlite> .tables  #查看所有数据库表,相当于MySQL的show tables;
auth_group                  auth_user_user_permissions
auth_group_permissions      blog_user
auth_permission             django_admin_log
auth_user                   django_content_type
auth_user_groups            django_session

还有一些通用的SQL语句:

sqlite> select * from blog_user;
1|admin|upload/python_fn.vim
sqlite>sqlite> .schema table_name
#查看表结构#输入 .help 查看更多帮助 !!!

就说这么多吧。SQLite3在手机等嵌入式中使用的比较多,小巧简单。

(二)Python的socket编程。

需要使用 import socket. socket编程多是C/S架构。

下面简单的例子。

#server.py#!/usr/bin/python
#coding=utf-8import socket
#创建socket对象,使用IPV4,TCP协议
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#将socket绑定到IP地址及端口。tuple元组类型,一个参数
socket.bind(('127.0.0.1',9999))
#设置监听,并设置最大监听数
socket.listen(10)
#等待请求,返回请求者的连接对象和地址元组(IP:PORT)。
conn,addr = socket.accept()
#获取请求者发送的数据
buff = conn.recv(1024)
print buff
#client.py#!/usr/bin/python
#coding=utf-8import socket
#创建socket对象
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#连接服务器
sock.connect(('127.0.0.1',9999))
#向服务器发送数据
sock.send(str(raw_input('input msg.')))

当然这是很简单的例子,要学习的东西还有很多......  以后在研究socket.....


--2014年07月28日19:46:38

(三)Django相关
(1)Cookies

在Response.COOKIES。是Python的一个标准字典型。可以将服务器的K-V数据进行保存。

cookie的设置:

def login(req):if req.method == 'POST':form = UserForm(req.POST)if form.is_valid():username = form.cleaned_data['username']password = form.cleaned_data['password']users = User.objects.filter(username__exact=username, password__exact=password)if users:resp = HttpResponseRedirect('/blog/index/')#使用response.set_cookie(key,value,timeout)resp.set_cookie('username',username,60*60)return respelse:return HttpResponseRedirect('/blog/login/')else:form = UserForm()return render_to_response('login.html',{'form':form})

cookie的使用与读取:

def index(req):#使用request.COOKIES.get(key)获取value的值username = req.COOKIES.get('username')return render_to_response('index.html',{'username':username})

cookie的删除:

def logout(req):resp = HttpResponse('logout')#使用response.delete_cookie(key),删除cookieresp.delete_cookie('username')return resp
(2)session

为了数据的安全,有时需要将一些与用户有关的信息保存到服务器上。request.session

session的创建与使用:

def login(req):if req.method == 'POST':form = UserForm(req.POST)if form.is_valid():username = form.cleaned_data['username']password = form.cleaned_data['password']users = User.objects.filter(username__exact=username, password__exact=password)if users:resp = HttpResponseRedirect('/blog/index/')resp.set_cookie('username',username,60*60)#使用 request.session[key]=value 来对session进行赋值req.session['username'] = usernamereturn respelse:return HttpResponseRedirect('/blog/login/')else:form = UserForm()return render_to_response('login.html',{'form':form})

session的读取:

def index(req):#username = req.COOKIES.get('username')#使用 request.session.get(key) 来获取valueusername = req.session.get('username')return render_to_response('index.html',{'username':username})

session的删除:

def logout(req):resp = HttpResponse('logout')#resp.delete_cookie('username')#直接通过删除命令 del 进行删除。del req.session['username']return resp
(3)auth

User的使用。

 from django.contrib.auth.models import User

User的创建:

#在Python 交互 shell 中实现。至少需要两个参数:username, password
>>> User.objects.create_user(username='aaa',password='aaa')

劳逸结合才是王道!   可惜还是没有什么困意 。。。。。 Org......

--2014年07月29日01:55:45

转载于:https://my.oschina.net/lpe234/blog/295611

七日Python之路--第八天相关推荐

  1. python求所有与7无关的数_七日Python之路--无关Python(混人乱语,不看也罢)

    2014年08月06日的下午,内心压制不住的狂躁抑或浮躁.莫名的感到很多无形的压力,以至于感觉自己似乎快要死去. 怎么说呢,前些日子情人节.自己鼓足勇气去见了自己内心喜欢的女生,当然她也是知道的.我们 ...

  2. python之路——模块和包

    一.模块 1.什么是模块? 常见的场景:一个模块就是一个包含了Python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1.使用Python编 ...

  3. python 之路,Day11 (下)- sqlalchemy ORM

    python 之路,Day11 - sqlalchemy ORM 本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM介绍 ...

  4. Python之路【第五篇】:面向对象及相关

    Python之路[第五篇]:面向对象及相关 Python之路[第五篇]:面向对象及相关 面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance ...

  5. 《我的Python之路V1.3.pdf》可以下载了,这版pdf更精美!

    1 前言 Python之路V1.3.pdf,使用更加专业的latex脚本和专业的Tex Live编译器生成,在经过这周3,4天的学习,编写,制作,终于完成年前制定的计划. 在制作V1.3.pdf中,遇 ...

  6. Python之路【第十四篇】:AngularJS --暂无内容-待更新

    Python之路[第十四篇]:AngularJS --暂无内容-待更新 转载于:https://www.cnblogs.com/weiman3389/p/6224181.html

  7. Python之路【第一篇】:Python简介和入门

    Python之路[第一篇]:Python简介和入门 Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗 ...

  8. Python之路,day22-BBS基础

    Python之路,day22-BBS基础 多级评论 from django.template import Library from django.utils.safestring import ma ...

  9. Python之路_Day13

    Python之路_Day13_课堂笔记 前期回顾 一.redis 发布订阅 二.rabbitMQ 原始队列 exchange ex全部转发 ex,关键字 ex,模糊匹配 rpc 三.MySQL 四.P ...

最新文章

  1. MirantisOpenStack-Fuel 9.0
  2. ABAP常用function 收藏
  3. tomcat上传文件到不同服务器,使用SpringMVC进行跨服务器上传文件出现的那些坑
  4. 这套网红试卷火了!数学老师您应该是文案出身吧?
  5. eclipse下安装Tomcat
  6. 传三星Galaxy S10将推出Lite版本 搭载骁龙855处理器
  7. Android接口回调
  8. 阿里云云计算 13 OSS的优势和使用场景
  9. 西门子博图使用Trace功能
  10. 国内厉害的中式风格设计师有哪些人
  11. rpm -ivh安装mysql_RPM 命令详细介绍
  12. 一文快速入门三维人脸重建学习
  13. SpringCloud Alibaba 实战之《配置中心:基于 Nacos 集中管理应用配置》
  14. 赛效:怎么用改图宝给图片添加水印?
  15. 数据结构完整性是指数据的正确性、有效性、相容性!
  16. 太简单了!串口触摸屏开发HMI的全流程介绍
  17. DevOps是什么鬼?
  18. LeetCode之77. Combinations
  19. oracle md5 重复,33-SQLServer和Oracle使用MD5加密字符串不一致的问题
  20. 检测JDK是否安装成功

热门文章

  1. Emgu-WPF学习使用-识别二维码的位置
  2. 推荐系统中基于深度学习的混合协同过滤模型
  3. mysql绿色版的应用5.7
  4. 兼容性—IE6/7下带有overflow:hidden属性的父级元素包不住带有position:relative属性的子元素...
  5. 设计模式 ( 十六 ) 观察者模式Observer(对象行为型)
  6. 例说DNS递归/迭代名称解析原理
  7. Oracle查询性能优化
  8. spring@Transactional注解事务不回滚不起作用无效的问题处理
  9. 微软桌面5.0新增时间线功能
  10. logback的配置文件