
python
cod16xx
这个作者很懒,什么都没留下…
展开
-
docker、docker-compose部署django2.2应用(nginx/mysql/gunicorn)
概览部署的是django2.2官方文档的polls示例应用,首先看看目录结构部署一共使用了三个image(nginx/mysql/python),会有三个容器,这就要使用docker-compose定义和运行多容器的应用,docker-compose.yml就是docker-compose的配置文件编写Dockerfile构建Python的image比较完整的示例,都挂载了log文件...原创 2019-04-14 14:09:03 · 993 阅读 · 0 评论 -
Tango with Django笔记——models、admin
1. python manage.py makemigrations <app_name>生成迁徙脚本 python manage.py migrate进行迁徙 python manage.py sqlmigrate <app_name> 0001查看将要执行的sql语句Admin的使用1.在admin.py中注册相应的类,admin.site.regist...原创 2017-12-31 09:47:49 · 232 阅读 · 0 评论 -
Tango with Django笔记——template、static、media
template1.在manage.py文件所在目录下创建templates文件夹,再创建名字为应用名字的文件夹 2.在应用的views.py中创建新的视图,构建dict数据,用来传到template’s context中 3.用render渲染模板,例如,render(request,’rango/index.html’,context=con_dict) 4.必要的话,在settin...原创 2017-12-31 09:47:16 · 245 阅读 · 0 评论 -
Tango with Django笔记——创建项目、app
workflow:一. 创建新的django项目django-admin startproject <项目名称>二. 创建一个新的Django应用1.用python manage.py startapp <app名称>创建2.在项目的setting.py的INSTALLED_APPS变量的tuple中添加新app3.在项目的urls.py中添加到a...原创 2017-12-31 09:46:48 · 258 阅读 · 0 评论 -
Python——二叉树的深度遍历
深度遍历包括前序、中序、后序遍历class Node: def __init__(self,data,left=None,right=None): self.data=data self.left=left self.right=right#中序def mid_travelsal(root): if root.left is not原创 2017-10-31 19:36:05 · 708 阅读 · 0 评论 -
python——二叉树的层次遍历
class Node: def __init__(self,data,left=None,right=None): self.data=data self.left=left self.right=right #层次遍历 def deep(self): queue = [self] l=[]原创 2017-10-31 18:07:04 · 3151 阅读 · 0 评论 -
冒泡、选择、快速排序、插入排序
冒泡排序:def bubbleSort(list): length=len(list) for i in range(length): for j in range(length-i-1): if list[j]>list[j+1]: list[j],list[j+1]=list[j+1],list[j]原创 2017-10-28 15:58:51 · 264 阅读 · 0 评论 -
归并排序、堆排序
希尔排序#希尔排序def shellSort(arr): length=len(arr) gap=length//2 while gap>0: #插入排序 for i in range(gap,length): key=arr[i] j=i-gap while j>=0:原创 2017-10-30 15:57:19 · 177 阅读 · 0 评论 -
Django——登录后回到请求登录的页面
用户在任意页面点击登录,并且登录成功后,应该跳转到用户点击登录的那个页面, 即是用户在A.html页面点击登录用户到登录页面login.html用户输入信息登录成功自动跳转回到A.html下面是我在django中的实现的配合自己写的 django登录系统每个页面的登录链接应该是这样的:<a href="{% url 'authin:login' %}?next={{ request.pa原创 2017-10-12 19:52:07 · 7002 阅读 · 0 评论 -
Django——自制登录系统(cookie)
预计实现网站用户注册、登录的功能Django app中的url如下urlpatterns = [ url(r'^login/$', views.login, name='login'), url(r'^register/$', views.register, name='register'), url(r'^logout/$', views.logout, name='log原创 2017-10-12 19:24:21 · 2068 阅读 · 0 评论 -
Iterator,Iterable
Iterable(可迭代对象)是实现了__iter__方法的对象,其中__iter_需要返回一个Iterator对象。 Iterator(迭代器)是实现了def iter(): return (new Iterator())、__next__的对象,__iter__方法返回对象本身。class Iterable: def __iter__(): retur原创 2017-10-19 09:08:58 · 268 阅读 · 0 评论 -
Python——spuer()
class Base(): def __init__(self): print('Base',self)class A(Base): def __init__(self): print('start A',self) super(A,self).__init__() print('end A',self)class原创 2017-09-22 14:37:07 · 247 阅读 · 0 评论 -
Tango with Django笔记——slug字段、自定义Admin类
Slug字段的使用添加slug字段,用短横线代替空格,从而可以在url中使用 例如,hi my name ==> hi-my-nameclass Category(models.Model): name=models.CharField(max_length=128,unique=True) slug=models.SlugField(unique=True,b...原创 2017-12-31 09:48:21 · 746 阅读 · 0 评论 -
Tango with Django笔记——working with templates
一、在模板中使用相对URL: 首先,可以在urls.py中添加一个变量 app_name=rango, 然后 可以使用{% url 'rango:about' %}二、使用base模板,继承模板 {% extends 'app_name/temp.html' %}三、自定义template tags: 1.创建app_name/tempaltetags文件夹,然后创建两个文件__ini...原创 2018-01-31 14:37:15 · 180 阅读 · 0 评论 -
Django——一些使用要点
22原创 2018-02-28 20:08:51 · 251 阅读 · 0 评论 -
Django——用户名、邮箱同时登录设置
2.1原创 2018-02-28 20:08:32 · 859 阅读 · 0 评论 -
Tango with Django笔记——sessions、cookies
一、相关设置1.MIDDLE_CLASSES(必需) 2.INSTALLED_APP的django.contrib.sessions(必需) 3.可以修改session存储的方式二、Cookie Tasting Session测试cookie的功能使用request.session 的 set_test_cookie()、test_cookie_worked()、delete_...原创 2018-01-31 14:38:00 · 180 阅读 · 0 评论 -
DRF ——视图,路由和渲染器
33原创 2018-03-31 18:54:36 · 284 阅读 · 0 评论 -
Django——第三方登录、缓存
232原创 2018-03-31 18:54:19 · 219 阅读 · 0 评论 -
DRF——ViewSet权限使用
31原创 2018-03-31 18:54:07 · 1028 阅读 · 0 评论 -
(转)使用pyenv和virtualenv搭建python虚拟环境实践总结
介绍出于种种原因,很多人的电脑上会同时安装很多个版本的 Python,比如会有 2.7 + 3.4。一般在 windows 下我们都可以通过使用绝对路径的方式来绕过系统对 PATH 环境变量的查询;在 Linux 下除了这种方式外,还可以在脚本文件开头显示指定需要使用的解释器,就像这样:#!/usr/bin/env python2.7 或 #!usr/bin/env python3.4。一旦特...转载 2017-12-31 09:46:21 · 309 阅读 · 0 评论 -
阿里云 安装 mysql5.7 相关(默认编码,外部访问)
阿里云ESC服务器,系统ubuntu16.04,安装mysql5.7.21一、安装#安装serverapt-get install mysql-server#安装clientapt-get install mysql-client#安装mysql的c语言开发接口apt-get install libmysqlclient15-dev二、启动,重启,停止#使用 se...原创 2017-12-31 09:45:58 · 283 阅读 · 0 评论 -
Django——xadmin使用要点
1-13-3原创 2018-01-31 14:39:13 · 519 阅读 · 0 评论 -
Tango with Django笔记——Registration-Redux
一、Set Up INSTALLED_APPS里添加registrastion 相关设置:REGISTRATION_OPEN=True ACCOUNT_ACTIVATION_DAYS=7 REGISTRATION_AUTO_LOGIN=True LOGIN_REDIRECT_URL=’/rango/’ LOGIN_URL=’/accounts/login/’二、URL 在项目...原创 2018-01-31 14:38:22 · 231 阅读 · 0 评论 -
Tango with Django笔记——登录系统
一、Password Hashing、Password Validators都可以自己设置,具体看文档二、user模型——django.contrib.auth.models.User1.user模型有5个关键属性: username、password、email address、first name、surname,其他的还有is_active、is_staff、is_superus...原创 2018-01-31 14:37:35 · 380 阅读 · 0 评论 -
阿里云ECS部署Flask(Nginx,gunicorn,supervisor,fabric,ubuntu16.04)
一、编写fabric脚本fabric只支持python2,只需要在开发机子上安装python2,服务器不需要 编写fabric脚本,把flask程序打包并上传到阿里云ECS的ubuntu服务器 针对狗书编写的脚本如下:# -*- coding: utf-8 -*-import os, refrom datetime import datetimefrom fabric.api import原创 2017-09-30 19:52:49 · 681 阅读 · 0 评论 -
Python——socket TCP编程
server.pyimport socketimport threadingimport times=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.bind(('127.0.0.1',9999))s.listen(5)print('Waiting for connection...')def tcplink(sock,addr):原创 2017-09-21 09:45:51 · 621 阅读 · 0 评论 -
GUI编程——Tkinter、pyinstaller
实现了一个图片转字符画的小程序 使用pyinstaller可以打包成exe程序在windows下方便使用#!/usr/bin/env python#-*- coding: utf-8 -*-from tkinter import *from tkinter.filedialog import askopenfilename,askdirectoryimport tkinter.message原创 2017-10-06 18:10:29 · 733 阅读 · 0 评论 -
ubuntu16.04——设置python3为默认及库的安装
Ubuntu默认Python为2.7,所以安装Python包时安装的为py2的包。利用alternatives机制更改py3为默认。shell里执行:sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100sudo update-alternatives --install /usr/bin/pyt原创 2017-07-19 10:22:57 · 1527 阅读 · 0 评论 -
Python——解析命令行参数docopt模块
例子,查询火车余票的命令行应用"""命令行火车票查看器Usage: ticket [-gdtkz] [-S] <from> <to> <date>Options: -h,--help 显示帮助菜单 -g 高铁 -d 动车 -t 特快 -k 快速 -z原创 2017-07-22 12:31:52 · 1312 阅读 · 0 评论 -
ubuntu——安装python3.6和sublime text3
1.安装python3.6sudo add-apt-repository ppa:jonathonf/python-3.6sudo apt-get updatesudo apt-get install python3.6或者sudo add-apt-repository ppa:fkrull/deadsnakessudo apt-get updatesudo apt-get install原创 2017-07-19 10:18:41 · 1339 阅读 · 0 评论 -
Python——生成激活码并存入MySQL
#引入pymysqlimport pymysql#连接数据库conn = pymysql.connect(user='root',password='password',database='test')cursor = conn.cursor()#执行 mysql语句cursor.execute('''create table if not exists actcode( id s原创 2017-06-13 21:03:32 · 1123 阅读 · 0 评论 -
Python——生成激活码
#目标:200个16个大小写英文、数字组成的激活码 #类似xxxx-xxxx-xxxx-xxxximport random,stringCHRLIST=string.ascii_letters+string.digits#test repeat#CHRLIST='1234'def single_code(lens): code='' for x in range(lens):原创 2017-06-07 20:40:17 · 5007 阅读 · 0 评论 -
Python——多进程
Unix/Linux /Mac 可以使用os模块的fork()创建子进程,fork()会创建主进程的一个副本,fork()调用一次会返回两次结果,分别在子进程父进程中返回。fork()在子进程中返回0,父进程中返回子进程的idimport osprint('process(%s) start...'%os.getpid())pid=os.fork()if pid==0: print('原创 2017-05-31 21:12:54 · 1026 阅读 · 0 评论 -
Python——闭包和装饰器
闭包1.LEGB原则:函数对变量进行引用时 按照 LEGB的顺序进行查找: L:local函数内部作用域 E:enclosing函数内部与内嵌函数之间 G:global全局作用域 B:build-in内置作用域(解释器自动添加)2.闭包(closure):内部函数对enclosing作用域的变量进行引用内部函数用到的enclosing中的变量作为函数的属性保存下来,用_ _ closure原创 2017-06-02 14:44:32 · 1327 阅读 · 0 评论 -
Python——使用SQLAlchemy
# -*- coding:utf-8 -*-from sqlalchemy import Column, String, Integer, create_enginefrom sqlalchemy.orm import sessionmaker,relationshipfrom sqlalchemy.ext.declarative import declarative_basefrom sql原创 2017-06-15 20:25:38 · 990 阅读 · 0 评论 -
Python——序列化
程序运行时,所有的变量都保存在内存中,把内存中的变量变成可存储、可传输的过程称为序列化。Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening。python用pickle模块实现序列化:>>> import pickle>>> d=dict(name='Huu',age=20,score=100)>>> pickle.du原创 2017-05-31 19:48:20 · 1088 阅读 · 0 评论 -
Python——XML解析
SAX是事件驱动的解析方式 会产生3个事件:1.start_element事件,在读取<a href="/">时;2.char_data事件,在读取python时;3.end_element事件,在读取</a>时。需要注意的是读取一大段字符串时,CharacterDataHandler可能被多次调用,所以需要自己保存起来,在EndElementHandler里面再合并。from xml.parse原创 2017-06-05 10:19:53 · 1292 阅读 · 0 评论 -
Python——HTMLParser
from html.parser import HTMLParserfrom html.entities import name2codepointfrom urllib import requestclass MyHTMLParser(HTMLParser): def __init__(self): super(MyHTMLParser,self).__init__()原创 2017-06-05 08:21:29 · 1112 阅读 · 0 评论 -
Python——图片转字符画
用到的库:Pillow,argparse 思路: 1.用灰度值公式将像素的rgb值转换成灰度值 2.创建一个灰度值的映射字符列表 3.打印字符,输出到txt文件 用法: python ascii.py file -o .output.txt --width 40 --height 40 file 是需要转换的图片的路径 -o -wid原创 2017-07-19 13:19:11 · 1490 阅读 · 0 评论