七日Python之路--第八天
为什么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之路--第八天相关推荐
- python求所有与7无关的数_七日Python之路--无关Python(混人乱语,不看也罢)
2014年08月06日的下午,内心压制不住的狂躁抑或浮躁.莫名的感到很多无形的压力,以至于感觉自己似乎快要死去. 怎么说呢,前些日子情人节.自己鼓足勇气去见了自己内心喜欢的女生,当然她也是知道的.我们 ...
- python之路——模块和包
一.模块 1.什么是模块? 常见的场景:一个模块就是一个包含了Python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1.使用Python编 ...
- python 之路,Day11 (下)- sqlalchemy ORM
python 之路,Day11 - sqlalchemy ORM 本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM介绍 ...
- Python之路【第五篇】:面向对象及相关
Python之路[第五篇]:面向对象及相关 Python之路[第五篇]:面向对象及相关 面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance ...
- 《我的Python之路V1.3.pdf》可以下载了,这版pdf更精美!
1 前言 Python之路V1.3.pdf,使用更加专业的latex脚本和专业的Tex Live编译器生成,在经过这周3,4天的学习,编写,制作,终于完成年前制定的计划. 在制作V1.3.pdf中,遇 ...
- Python之路【第十四篇】:AngularJS --暂无内容-待更新
Python之路[第十四篇]:AngularJS --暂无内容-待更新 转载于:https://www.cnblogs.com/weiman3389/p/6224181.html
- Python之路【第一篇】:Python简介和入门
Python之路[第一篇]:Python简介和入门 Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗 ...
- Python之路,day22-BBS基础
Python之路,day22-BBS基础 多级评论 from django.template import Library from django.utils.safestring import ma ...
- Python之路_Day13
Python之路_Day13_课堂笔记 前期回顾 一.redis 发布订阅 二.rabbitMQ 原始队列 exchange ex全部转发 ex,关键字 ex,模糊匹配 rpc 三.MySQL 四.P ...
最新文章
- MirantisOpenStack-Fuel 9.0
- ABAP常用function 收藏
- tomcat上传文件到不同服务器,使用SpringMVC进行跨服务器上传文件出现的那些坑
- 这套网红试卷火了!数学老师您应该是文案出身吧?
- eclipse下安装Tomcat
- 传三星Galaxy S10将推出Lite版本 搭载骁龙855处理器
- Android接口回调
- 阿里云云计算 13 OSS的优势和使用场景
- 西门子博图使用Trace功能
- 国内厉害的中式风格设计师有哪些人
- rpm -ivh安装mysql_RPM 命令详细介绍
- 一文快速入门三维人脸重建学习
- SpringCloud Alibaba 实战之《配置中心:基于 Nacos 集中管理应用配置》
- 赛效:怎么用改图宝给图片添加水印?
- 数据结构完整性是指数据的正确性、有效性、相容性!
- 太简单了!串口触摸屏开发HMI的全流程介绍
- DevOps是什么鬼?
- LeetCode之77. Combinations
- oracle md5 重复,33-SQLServer和Oracle使用MD5加密字符串不一致的问题
- 检测JDK是否安装成功
热门文章
- Emgu-WPF学习使用-识别二维码的位置
- 推荐系统中基于深度学习的混合协同过滤模型
- mysql绿色版的应用5.7
- 兼容性—IE6/7下带有overflow:hidden属性的父级元素包不住带有position:relative属性的子元素...
- 设计模式 ( 十六 ) 观察者模式Observer(对象行为型)
- 例说DNS递归/迭代名称解析原理
- Oracle查询性能优化
- spring@Transactional注解事务不回滚不起作用无效的问题处理
- 微软桌面5.0新增时间线功能
- logback的配置文件