02 2024 档案
摘要:在同一台服务器当中,根据不同的域名将动态请求分发给Django和Flask两个项目: 在Nginx配置文件中配置两个server参数: user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/ng
阅读全文
摘要:基本使用 # pip 安装 pip install flask-restful # 源码安装 # git clone https://github.com/flask-restful/flask-restful.git # python setup.py develop 创建Resource实现类
阅读全文
摘要:Flask插件 flask-caching 安装 pip install flask-caching 初始化 from flask_cache import Cache cache = Cache(config={ 'CACHE_TYPE': 'simple', }) cache.init_app(
阅读全文
摘要:创建模型 ... 字段类型 类型名 Python类型 说明 Integer int 普通整数,一般是32位 SmallInteger int 取值范围小的整数,一般是16位 BigInteger int 或 long 不限制精度的整数 Float float 浮点数 Numeric decimal.
阅读全文
摘要:Flask默认并没有提供任何数据库操作的API 我们可以选择任何适合自己项目的数据库来使用 Flask中可以自己的选择用原生语句实现功能,也可以选择ORM(SQLAlchemy,MongoEngine) ORM Flask通过Model操作数据库,不管你数据库的类型是Mysql或者sqlite,Fl
阅读全文
摘要:Flask中使用Jinjia2模版引擎 Jinjia2由Flask作者开发 一个现代化设计和友好的Python模版语言 模仿Django的模版引擎 优点: 速度快,被广泛使用 HTML设计和后端Python分离 减少Python复杂度 非常灵活,快速和安全 提供了控制、继承等高级功能 模版语法 模版
阅读全文
摘要:from flask import request, session Flask中的session、request是全局对象 Cookie 设置cookie: response.set_cookies(key,value[,max_age=None,exprise=None]) max_age:整数
阅读全文
摘要:安装flask2 pip install flask==2.2.3 第一个Flask项目 创建helloflask.py文件,写入以下代码 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world():
阅读全文
摘要:ubuntu安装redis: sudo apt-get update sudo apt-get install redis-server redis-server 即可启动 从打印的信息可以看到端口信息 netstat -tulnp 也可查看程序的端口号 redis-cli 连上redis set
阅读全文
摘要:元素定位 xpath /xxx 根节点 ele = b.find_element_by_xpath('/html') ele.text ele = b.find_element_by_xpath('/html/body/form/input') ele.get_attribute('type') '
阅读全文
摘要:https://www.runoob.com/python/python-email.html #!/usr/bin/python # -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMEText from ema
阅读全文
摘要:在云服务器上搭建web网站 服务器的系统是CentOS 7.6 一、安装Python 3.8.18 1、 安装gcc yum install gcc -y 2、 安装编译python的依赖 yum install zlib zlib-devel -y yum install bzip2 bzip2-
阅读全文
摘要:Python 爬取B站(Bilibili.com)UP主的所有视频链接及详细信息 Python 爬取B站(Bilibili.com)UP主的所有公开视频链接及信息 安装selenium 安装selenium: conda install selenium selenium + Edge seleni
阅读全文
摘要:url中含有中文的处理 Python编程:URL网址链接中的中文编码与解码 Python进行URL解码 from urllib.request import quote ... def start_requests(self):keywords = ['手机', '笔记本电脑', '键鼠套装'] f
阅读全文
摘要:ubuntu安装mysql 在 Ubuntu 上安装和配置 MySQL 保姆级教程 sudo apt install mysql-server centos7.6安装mysql: CentOS / Linux 安装MySQL(超简单详细) yum install mysql-community-se
阅读全文
摘要:导入库的顺序: 先导标准库 空行 再导第三方库 空行 最后导自己的库 库之间按字母顺序导 mac pycharn code-优化导入工具:可自动帮调整顺序,将没有用到的库名删除 查看安装了什么第三方库:pip list 或 pip freeze pip freeze > requirements.t
阅读全文
摘要:1、安装scrapy win7下conda安装scrapy conda search scrapy conda install scray=2.8.0 将C:\Program Files\Anaconda3\envs\my_env3.8\Scripts加入环境变量 这样cmd中就可以使用scrapy
阅读全文
摘要:Django时间时区 datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'),得到的是标准时区的时间字符串 https://blog.csdn.net/qiaominghe/article/details/86593744 https://blog
阅读全文
摘要:1、动态Form form_handle.py from django.forms import ModelForm def create_dynamic_model_form(admin_class,form_add=False): """动态的生成modelform form_add: Fals
阅读全文
摘要:_meta.fields _meta.get_fields('字段名') _meta.fields_map _meta.many_to_many _meta.related_objects 待补充 dir() id() obj.get_internal_type()
阅读全文
摘要:Django提供了Admin来做后台管理 这里Kingadmin为自己做的后台管理 1、Kingadmin Base from django.shortcuts import render class BaseKingAdmin(object): list_display = [] list_fil
阅读全文
摘要:role base access control 基于角色的权限控制 1、Models from django.db import models class User(models.Model): name = models.CharField(max_length=32) password = m
阅读全文
摘要:XSSFilter.py from bs4 import BeautifulSoup class XSSFilter(object): __instance = None def __init__(self): # XSS白名单 self.valid_tags = { "font": ['color
阅读全文
摘要:kindediter # textarea,用于富文本输入 <textarea id="editor_id" name="content" style="width:700px;height:300px;"></textarea> {% csrf_token %} #加入csrf_token,提交时
阅读全文
摘要:check_code.py(需要字体文件:Monaco.ttf) import random from PIL import Image, ImageDraw, ImageFont, ImageFilter _letter_cases = "abcdefghjkmnpqrstuvwxy" # 小写字
阅读全文
摘要:def login(request): if request.method == 'GET': form = account.LoginForm() return render(request, 'login.html',{'form':form }) else: form = account.Lo
阅读全文
摘要:display: flex/inline-flex 使用了display: flex/inline-flex属性后,子元素横向排列 使用了display: flex 属性后,父元素不设置宽度,宽度就是100%;不会被子元素宽度撑开; 使用了display: inline-flex 属性后,父元素不设
阅读全文
摘要:web项目中,向其它ip地址发送请求时会受到浏览器同源策略的限制 : 对方受到请求,并作出响应,但浏览器限制了接受响应。 # 受到同源策略的限制 $.ajax({ url:'http://127.0.0.1:9000/ajax_jsonp.html', type:'GET', data:{}, su
阅读全文
摘要:1、Python函数形参默认值的生命周期 形参默认值的生命周期 def func(arg,li=[]): li.append(arg) return li v1=func(1) print(v1) # [1,] v2=func(2,[]) print(v2) # [2,] v3=func(3) pr
阅读全文
摘要:1、普通上传 <body> <form action="/upload.html" method="post" enctype="multipart/form-data"> {% csrf_token %} <input type="text" name="user"/> <input type="
阅读全文
摘要:Serializers Django中,自定义类型的对象无法通过json序列化,可以使用serializers。 def get_data(request): # 由于UserInfo是自定义对象,不能通过json序列化 # 因此使用以下方式 from django.core import seri
阅读全文
摘要:Django的Form: 1、对用户请求的验证 2、生成HTML代码 a、创建一个类 b、类中创建字段(包含正则表达式) c、Get a) Obj = Fr() obj.user=> 自动生成HTML d、POST a) Obj = Fr(request,POST) i. If obj.is_val
阅读全文
摘要:原理 def index(request): per_page_count = 10 current_page=request.GET.get('p') # page=1 0,10 0-9 # page=2 10,20 10-19 current_page = int(current_page) s
阅读全文
摘要:JSON import json # 对象转字符串 str = json.dumps(dict,ensure_ascii=False) # ensure_ascii=True或不设置 str = json.dumps(dict) # 这时前端拿到的是未解码的数据:{"key1":"\u7528\u6
阅读全文
摘要:调整项目目录结构:在项目statics目录下,创建JS、CSS、Plugins文件,分别用于存放js、css和第三方插件。 Bootstrap:提供现成的样式+效果 1、下载Bootstrap 在boostrap官网下载用于生产版本的bootstrap,放在plugins文件夹。 2、Html中引入
阅读全文
摘要:Ajax Ajax向后台发请求 1、下载引入jQuery 2、语法格式 # get $.ajax({ Url: ‘http://www.*****.com’, Type: ‘GET’, Data: {‘k1’:’v1’}, Success: function(arg) { // arg是字符串类型
阅读全文
摘要:1、Django请求的生命周期 请求响应Http 1、发送Http请求 请求头(包含Cookie) \r\n\r\n 请求体 2、服务器请求,根据请求头中的url在路由关系表中进行匹配(从上到下) 3、匹配成功后,执行指定的views函数 a. Url -> 函数 ==> FBV b. Url ->
阅读全文
摘要:1、Cookie:保存在客户端浏览器文件上的键值对 当浏览器访问某个网站时,浏览器在COOKIE中拿出属于该网站的键值对来访问这个网站。因此这些键值对是按域名来保存在本地文件。 一、cookie和session的介绍 1、cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,
阅读全文
摘要:1、DecimalField DecimalField保存浮点型数据比FloatField精确,因为它是以字符串来保存,而FloatField,数据越长,保存得越不精确。 2、索引 (命中索引) 正确使用SQL语言,使查找数据时,用到索引 username=models.CharField( ...
阅读全文
摘要:查看ORM操作数据库时执行的sql语句 在settings.py中加上LOGGING LOGGING = { 'version':1, 'disable_existing_loggers':False, 'handlers':{ 'console':{ 'level':'DEBUG', 'class
阅读全文
摘要:数据库 Django默认支持sqlite、mysql、oracel、postgresql等数据库 1、sqlite django默认使用sqlite数据库 Django.db.backends.sqlite3 DATABASES = { 'default': { 'ENGINE': 'django.
阅读全文
摘要:Django Admin是django项目数据库的一个后台管理工具 一、注册models 项目中,应用创建之后,应用文件夹就有一个admin.py文件。在admin.py中注册需要在admin后台管理的models from django.contrib import admin from web
阅读全文
摘要:视图相关 HTTPRequest对象: 属性:path 函数:get_full_path() HTTPResponse对象: render() render_to_response() locals() :局部变量 redirect() 重定向 例子:用户登录成功后跳转 def login(requ
阅读全文
摘要:urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 匹配 1、完全匹配 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^showtime/', views.showtime), url(r'^
阅读全文
摘要:django网络相应基础: 1、配置url路由 在urls.py中 urlpatterns添加路径 from django.conf.urls import url from django.contrib import admin from app01 import views urlpattern
阅读全文
摘要:Django特点: 具有完整的封装,开发者可以高效率的开发项目,Django将大部分的功能进行了封装,开发者只需要调用即可,如此,大大的缩短了开发的时间,同时也因为太多封装导致开发灵活度和项目的运行效率不足。通常在工作中,开发者可以使用Django快速的搭建项目,然后基于项目进行个别部分的效率优化。
阅读全文
摘要:Anaconda Anaconda介绍、安装及使用教程 - 知乎 (zhihu.com) 如果你已经安装了 Anaconda,那么就不再需要再安装 Python 了。Anaconda 是一个集成了 Python 和大量常用 Python 库的发行版,它内置了 Python 环境和多种常用的 Pyth
阅读全文
摘要:1、linux 命令 配置ip地址 2、虚拟机网络配置 127.0.0.1和0.0.0.0地址的区别 0.0.0.0 IPV4中,0.0.0.0地址被用于表示一个无效的,未知的或者不可用的目标。 在服务器中,0.0.0.0指的是本机上的所有IPV4地址,如果一个主机有两个IP地址,192.168.1
阅读全文
摘要:一.ip地址基本知识 1.1 ip地址的结构和分类 根据tcp/ip协议,连接在internet上的每个设备都必须有一个ip地址,他是一个32位二进制数,也可以用点分十进制表示,每八位一组,用一个十进制表示即0~255,每组用"."分隔开,例如172.16.45.10 ip地址表示 将ip地址中的网
阅读全文
摘要:想实现网络通信,每台主机需具备四要素 ● 本机的IP地址 ● 子网掩码 ● 网关的IP地址 ● DNS的IP地址 获取这四要素分两种方式 1.静态获取 即手动配置 2.动态获取 通过dhcp获取 以太网头 ip头 udp头 dhcp数据包 (1)最前面的”以太网标头”,设置发出方(本机)的MAC地址
阅读全文
摘要:阶段一: 现代计算机起源于美国,最早诞生也是基于英文考虑的ASCII ASCII:一个Bytes代表一个字符(英文字符/键盘上的所有其他字符),1Bytes=8bit,8bit可以表示0-2**8-1种变化,即可以表示256个字符 ASCII最初只用了后七位,127个数字,已经完全能够代表键盘上所有
阅读全文
摘要:一、网络协议 互联网的本质就是一系列的网络协议 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 每层运行常见物理设备 1、物理层功能: 主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0 2、数据链路层由来: 单纯的电信号0和1没有任何意义,必须规
阅读全文
摘要:一、什么是数据? 数据是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材。 在计算机系统中,数据以二进制信息单元0、1的形式表示 在计算机系统中,各种字母、数字符号的组合、语音、图形、图像等统称为数据,数据经过加工后就成为信息。 二、数据的表现形式 1、数学数据 2、
阅读全文
摘要:一、计算机(电脑)的定义:可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。 程序自动化:可以将预先编好的程序组纳入计算机内存,在程序控制下,计算机可以连续、自动地工作,不需要人的干预。 高速:每秒万亿次,普通每秒亿次。 二、计算机的发展过程 1、古时:算盘、帕斯卡、莱布尼兹(八卦图——二进
阅读全文