
Python学习笔记
文章平均质量分 96
尉迟海棠
这个作者很懒,什么都没留下…
展开
-
[python 学习笔记] pandas 读取 excel
1. 读取文件 --- 已知sheet_nameimport pandas as pd# 读取excel -- 知道sheet namedf = pd.read_excel(文件名, sheet_name='Sheet1', index_col=0)df2. 读取文件 --- 不知道sheet_name# 读取excel -- 不知道sheet namexl = pd.ExcelFile(文件名)names = xl.sheet_namesprint(names)...原创 2020-08-16 15:12:50 · 2761 阅读 · 0 评论 -
[python 学习笔记] xlrd 读取 excel
1. 读取excel的基本步骤import xlrd# 打开exceldata = xlrd.open_workbook(r'D:\test_0804\yingkun.xlsx',)# 读取所有sheet的namenames = data.sheet_names()# 打开某个sheettable = data.sheet_by_index(0) table = data.sheet_by_name(names[0])# 获取行数和列数rowNum = table.n..原创 2020-08-16 14:59:39 · 927 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目23 - 通过modelform完成我要学习的提交
1. 建立AddAskForm表单,建立表单的方法有两种:a. 按照注释中的一般方法进行定义b.使用modelForm进行定义:适用于已经存在相应的model,且大部分表单中的字段和model中相同的情况import refrom django import formsfrom apps.operation.models import UserAsk# class AddAskForm(forms.Form):# # 定义这个表单类中有哪些字段需要验证, 和model..原创 2020-06-21 14:38:11 · 229 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目22 - 通过url的include机制重新设计url
使用include方法可以将同一个主页下的小页面的url进行整合比如,课程机构页面下的所有的小页面,url都是org开头的,我们可以用include方法对这些url进行整合。在urls.py中修改url, include方法有两个参数,一个需要传入apps的url,另外可以设置一个namespace,这样所有的下属子页面的url都会以自动添加这个namespace # 机构相关页面 # url(r'^org_list/', OrgView.as_view(), name='org_li原创 2020-06-14 20:01:59 · 320 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目23 - 授课机构排名,通过forloop显示索引
在views.py中添加如下代码,获取按点击量的排名: # 授课机构排名 hot_orgs = all_orgs.order_by('-course_nums')[:3] # 减号表示倒序排列在html中添加对应的前端代码:<div class="head">授课机构排名</div> {% for org in hot_orgs %} <dl class="des"> <dt cla原创 2020-06-14 19:14:05 · 164 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目21 - 通过order_by 对课程机构排序
在views.py中使用order_by方法对筛选后的课程机构进行排序 # 对机构进行排序 sort = request.GET.get('sort', '') if sort == 'student': all_orgs = all_orgs.order_by('-student') elif sort == 'courses': all_orgs = all_orgs.order_by('-cours原创 2020-06-14 17:12:54 · 270 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目20 - 课程机构的筛选(按照类别和城市对课程机构进行筛选)
在views.py中添加筛选代码:class OrgView(View): def get(self, request, *args, **kwargs): # 从数据库中获取数据,并显示在前端页面上 all_orgs = CourseOrg.objects.all() all_citys = City.objects.all() # 通过机构类别对课程机构进行筛选 category = request.GET.原创 2020-06-14 16:51:43 · 219 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目19 - web的分页
web分页的逻辑比较复杂,可以借助三方库 django pure pagination来实现。1. 在github中搜索 django pure pagination,pip install django-pure-pagination 进行安装。2. 在settings.py的 INSTALLED_APPS 中添加'pure_pagination',3. 在settings.py 中添加如下配置:PAGINATION_SETTINGS = { 'PAGE_RANGE_DISPL.原创 2020-06-13 21:07:04 · 214 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目19 - 通过model反向去外键关联数据
* 注意, 当在models.py中添加了字段后,必须要执行migration 和 migrate外键:在两个表中存在一个共同的字段,且这个字段是其中一张表的主键,此时这个字段称为另一张表的外键。比如,教育机构和课程两张表,两张表中都存在教育机构这个字段,且教育机构为教育机构表的主键,此时教育机构这个字段就是课程表的外键。一个教育机构可以对应多个课程,这个一对多的关系。同理,还可能存在一对一的关系。而多对多的关系,则只能通过两个一对多关系实现。在课程表中,定义外键‘教育机构’:cl原创 2020-06-07 19:49:55 · 287 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目18 - 将课程列表页的后台数据显示到前端
将数据库city列表中的内容显示到前端,形式如下:首先在views.py中进行定义,all_citys 是 City 表的所有数据,将all_citys 在html中进行循环,就可以显示了from django.shortcuts import renderfrom django.views.generic.base import Viewfrom apps.organizations.models import City, CourseOrg, Teacherclass OrgV.原创 2020-06-07 15:44:52 · 256 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目17 - 将网站上的图片统一保存到media文件夹下
课程机构也包含很多图片,那么如何将这些图片统一保存到media文件夹下呢?在课程机构的modules.py的CourseOrg类中, 我们定义了image上传的保存路径为 org/年/月, 这样一来,当我们在xadmin后台中上传数据到数据库是,就会创建一个org文件夹,用于保存这些图片 image = models.ImageField(verbose_name='logo', max_length=100, upload_to='org/%Y%m')此时添加图片,图片的路径如下..原创 2020-06-07 12:08:56 · 626 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目16 - 通过django的template继承机制,重构html页面
在实际中,我们尝尝碰到某些网站页面有共同的部分,比如,页面的header 和 footer部分。django中的template 具有继承机制,我们可以创建一个类似于父类的html,规定好页面的各个部分,以及公共部分的代码。如果有页面也具有相同的样式,则可以通过继承这个父html,使用相同的html样式,同时也可以通过重构,来展示子页面中不同的部分。简单来说,父html是一个框架,大体勾画出网站长什么样子,分为哪几部分等。而子html,继承父html之后,就可以自动具备了父html中的部分,并可原创 2020-06-01 21:26:53 · 221 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目15 - 使用settings.py中的 STATIC_URL重新引入静态文件
1. 将 js 和css文件放在static文件夹下, static 文件夹和 template 文件夹同级2. 在django的setting.py 中,添加STATIC_URL = '/static/'STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.cont原创 2020-05-31 20:06:33 · 325 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目14 - cookie 和 session (重要)
django中登录login(request, user) 的机制:1. http协议是一种无状态协议, 服务器无法得知某个http请求是来自于哪个用户的。 在这种情况下,如果想要让服务器得到http请求来自哪个用户,有以下几种选择:1) 可以将用户信息(username, password)添加到url或者header中 -- 存在安全性问题,如果黑客将某个用户信息添加到header中,则可以冒用这个用户的信息2)给用户一串随机字符串(令牌),字符串满足以下几个条件:...原创 2020-05-31 15:19:38 · 258 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目13 - 手机验证码动态登录
# 编写一个view的几个步骤"""1. view代码2. 配置url3. 修改html页面中的相关地址"""手机验证码动态登录验证的相关步骤:1. 验证手机号对应的code是否和redis中记录的code一致2. 如果一致,则返回到主页3. 如果不一致,则返回login页面...原创 2020-05-17 19:44:23 · 342 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目12 - 用redis保存验证码
1. 下载 redis - windows在 github中搜索 redis windows, 下载 latest.zip, 并解压在cmd命令行中cd 到redis所在目录,执行命令: redis-server.exe, redis运行后,保持这个cmd窗口不关闭在另一个cmd命令行中cd到redis所在目录, 执行命令:redis-cli.exe, 使用这个窗口可以查询redis存储数据的情况redis的相关操作命令:http://doc.redisfans.com/2. ...原创 2020-05-16 15:10:51 · 288 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目11 - ajax方式完成短信验证码发送
当使用ajax将前端数据发送到后端时,如何skip csrf token验证过程?完成手机动态验证过程1. 在 users --> forms.py中添加mobile字段class DynamicLoginForm(forms.Form): captcha = CaptchaField() mobile = forms.CharField(requi...原创 2020-05-05 13:24:25 · 253 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目10 - 图片验证码
图片验证码的显示,在github上有相应的app,https://github.com/mbi/django-simple-captcha官方文档:https://django-simple-captcha.readthedocs.io/en/latest/执行以下步骤进行安装: Installdjango-simple-captchaviapip:pipinsta...原创 2020-04-19 18:24:23 · 213 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目9 - 使用手机动态验证码登录
1. 给手机发验证码1. 注册云片网,提交实名制信息,提交模板,等待审核,审核通过后,我们就可以给手机发验证码了2. 我们可以在apps下面创建一个文件YunPian.pyimport requestsdef send_singal_sms(apikey, code, mobile): # 发送单条短信 url = 'https://sms.yunpian....原创 2020-04-19 18:22:44 · 300 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目8 - 登出 logout
很多网站目前都提供了使用手机号,和手机收到的验证码来进行登录,同时这种登录方式也需要输入图片中的验证码,使用这种验证码可以从一定程度上减少软件的攻击退出登录 -- 点击退出登录按钮,网站应该返回主页退出登录的处理应该包含在views.py文件的get()方法中, 当用户点击退出登录按钮后,网站跳转到首页。1. 使用django中的 logout() 方法登出from dj...原创 2020-04-13 20:55:40 · 558 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目7 - 进一步完善用户登录逻辑
在第5章中,我们记录了如何将用户输入的信息进行校验,但是仍然有些逻辑需要进一步完善。from django.shortcuts import renderfrom django.views.generic.base import Viewfrom django.contrib.auth import authenticate, loginfrom django.http import ...原创 2020-04-06 20:33:02 · 436 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目6 - 登录成功后,首页显示用户信息
在登录页面,用户输入登录信息 --> 校验成功 --> 跳转首页 --> 在首页右上角显示用户信息这个处理应该在首页对应的html中完成{% if request.user.is_authenticated %}# 对于用户登录信息校验成功的处理 {% else %}# 对于用户登录不成功的处理 ...原创 2020-04-05 18:20:10 · 949 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目5 - 通过django 内置的login完成登录(login校验)
1. CBV(class base view) FBV(function base view) -- 两种写view的逻辑 - 通过写类或者函数的方式来完成view的定义CBV 有利于代码的重用, 可以继承下面我们介绍如何使用CBV:from django.shortcuts import renderfrom django.views.generic.base impo...原创 2020-03-22 21:16:07 · 414 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目 - 留言板项目4 (定义跳转的两种方式)
定义跳转, 我们在主页点击右上角的登录按钮,跳转到登录页面:第一种跳转方式: 同时在urls.py中定义/login/ 对应的文件:在首页对应的html文件中,修改 href 对应的链接地址:第二种跳转方式: (推荐)在urls.py中添加ulr对应的名字url中login/ 对应的name是 ‘login’, 我们只要在在html中关...原创 2020-03-22 19:57:33 · 255 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目 - 留言板项目3 (使用xadmin 替代 admin)
1. 安装xadminxadmin可以作为一个app使用,所以我们可以直接把xadmin文件夹拷贝到django项目文件夹下,再执行如下步骤:1) 在django的settings.py, INSTALLED_APPS中添加 crispy_forms 和 xadminINSTALLED_APPS = [ 'django.contrib.admin', 'dja...原创 2020-03-10 20:43:33 · 375 阅读 · 0 评论 -
[python 学习笔记] 用户表的设计
数据库中默认的auth_user 表格中,内容如下:我们需要在其中添加以下字段:昵称, 生日,性别,地址,手机号可以通过重写model中的类 AbstractUser来添加这些字段。1) 在app: users中,models.py文件中,继承AbstractUser类,并在新的类中,直接添加想要的字段from django.db import modelsfrom...原创 2020-03-02 20:32:20 · 670 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目 - 留言板项目2
1. 从前面html页面提取数据,并保存到数据库:<body><form action="/form/" method="post" class="smart-green"> <h1>留言信息 <span>请留下你的信息.</span> </h1> <label>...原创 2020-03-01 21:23:33 · 381 阅读 · 0 评论 -
[python 学习笔记] 下载三方库可以使用的镜像
pip install 比较慢的时候,可以用镜像来下载,常用的三个镜像:清华: https://pypi.tuna.tsinghua.edu.cn/simple豆瓣: http://pypi.douban.com/simple/阿里: http://mirrors.aliyun.com/pypi/simple/比如:pip install numpy -ihttps://py...原创 2020-02-28 15:38:35 · 144 阅读 · 0 评论 -
[python 学习笔记] 从头开始创建一个django项目 - 留言板项目
1. 创建django项目:1) 创建虚拟环境,比如要在code_test文件夹下创建虚拟环境,在cmd中,code_test对应的路径中输入命令: virtualenv venv这样就创建了venv文件夹,在cmd中进入venv/Scripts, 运行activate文件,就进入了虚拟环境,此时命令行开头为(venv)(上述操作也可以在pycharm中的terminal中进行)...原创 2020-02-25 22:00:10 · 808 阅读 · 0 评论 -
[python 学习笔记] 字典/ 列表 / 嵌套列表的排序
1. 列表的排序 - sort 和sortedlist1 = [3, 6, 33, 5, 2, 11]list1.sort() # 直接改变了list1本身的print(list1)list2 = [3, 6, 33, 5, 2, 11]a = sorted(list2) #并没有改变list1的值,而是生成了一个新变量print(a)输出:[2, 3...原创 2020-02-23 12:25:11 · 558 阅读 · 0 评论 -
[python 学习笔记] openpyxl -- excel样式设置 & 冻结窗格
1. 设置填充颜色, 字体, 边框from openpyxl import load_workbookfrom openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Fontwb = load_workbook(file_path)ws = wb['sheet_name']# 设置...原创 2020-02-20 22:18:54 · 4224 阅读 · 0 评论 -
[python 学习笔记] openpyxl 的使用 - excel中数据转成列表/ 字典
openpyxl 支持的格式: .xlsx , .xlsm, .xltx, .xltm1. 打开文件原创 2020-02-20 20:10:22 · 10819 阅读 · 2 评论 -
[python 学习笔记] Django -- 模板
{{ name|lower }} -- 将name变量变成小写原创 2020-02-12 21:25:38 · 175 阅读 · 0 评论 -
[python 学习笔记] Django -- 通过url访问数据库中内容
views.py中定义函数 person_detail()from django.shortcuts import renderfrom django.http import HttpResponse, HttpResponseRedirect, Http404from app1.form import PersonFormfrom app1.models import Perso...原创 2020-02-12 21:23:12 · 534 阅读 · 0 评论 -
[python 学习笔记] Django - 对POST表单的处理
Step1: views.py中定义函数get_namefrom django.shortcuts import renderfrom django.http import HttpResponse, HttpResponseRedirectfrom app1.form import PersonFormdef get_name(request): if reque...原创 2020-02-11 22:13:54 · 214 阅读 · 0 评论 -
[Python学习笔记] Django 中的表单 - 如何让访问的页面显示一个表单
显示表单,我们需要用到html的知识,此时传统做法是将表单定义在html中,python中通过render函数进行渲染建立一个和app同级的文件夹templates,用于存放html文件。假设我们要建立这样的一个表单首先url = 'app1/name', 下面表单的设置应该放在html中,所以Step1: 创建表单的html文件, 命名为name.html<...原创 2020-02-11 21:06:03 · 367 阅读 · 0 评论 -
[Python学习笔记] Django - 路由 - 用户访问url如何设置
前端通过url路由来访问相应的网址,我们可以在每个app下设置对应urls.py文件,在urls.py中添加对应的url地址,这个地址可以是一个精确的字符串,也可以是一个转换格式,或者正则表达式。1. 在urls.py文件中添加url:from django.contrib import adminfrom django.urls import path, include # ...原创 2020-01-31 13:27:22 · 652 阅读 · 0 评论 -
[Python学习笔记] Django后台中文显示,和时间设置
关于Django后台的中文显示和时间设置,都在settings.py中进行修改:原创 2020-01-31 11:56:07 · 328 阅读 · 0 评论 -
[Python学习笔记] Django - 管理后台
通过Django编写类,创建对应的数据表存储数据,既可以通过navicate来查看和修改数据,也可以将Django后台和数据模型关联起来,进行管理。Django后台管理,可以分以下几步:1. 创建继承 admin.ModelAdmin 的类,并将此类和数据模型绑定在app1包中的admin.py文件中,进行后台类的自定义 --> 定义类 PersonAdmin, 继承自ad...原创 2020-01-31 11:54:20 · 154 阅读 · 0 评论 -
[Python学习笔记] Django中数据库的相关操作
由原来直接通过sql语句来执行各种操作,改为通过ORM来操作数据库,也就是不需要通过数据库的相关语句来操作增删改查,而是通过设置类的方式来创建数据表存储数据1. 变更Django关联数据库在settings.py中修改databases部分,engine中对应的数据库类型是mysql,数据库名为demo,并设置用户名和密码2. 在navicate或者命令行中创建对应的数据库...原创 2020-01-31 11:02:58 · 310 阅读 · 0 评论