nginx
Nginx安装Linux包安装
12345# CentOSsudo yum install nginx# Ubuntusudo apt install nginx
源码安装
1、安装gcc
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装。
12345678# CentOSyum install gcc-c++yum install make automake gcc gcc-c++ kernel-devel# Ubuntuapt install gccapt install build-essential# build-essential是Debian系的meta package的名字,CentOS不一样。
2、PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 ...
ORM
SQLAlchemy操作数据库依赖1234sqlalchemyflask-sqlalchemyalembicflask-migrate
ORM使用ORM可以避免SQL注入问题,但是仍然需要对传入的查询参数进行验证。ORM把底层的SQL数据实体转化成高层的Python对象,这样一来,是需要通过Python代码即可完成数据库的操作,ORM实现的三层映射关系:
表———-类
字段(列)———类属性
记录(行)———类实例
使用原生SQL语句
1234CREATE TABLE contacts( name varchar(100) NOT NULL, phone_number verchar(32),);
使用ORM
123456from foo_orm import Model, Column, Stringclass Contact(Model): __tablename__ = 'contacts' name = Column(String(100), nullable=False) phone_number = Column(St ...
ORM
ORMORM把底层的SQL数据实体转化成高层的Python对象,这样一来,是需要通过Python代码即可完成数据库的操作,ORM实现的三层映射关系:
表———-类
字段(列)———类属性
记录(行)———类实例
使用原生SQL语句
1234CREATE TABLE contacts( name varchar(100) NOT NULL, phone_number verchar(32),);
使用ORM
123456from foo_orm import Model, Column, Stringclass Contact(Model): __tablename__ = 'contacts' name = Column(String(100), nullable=False) phone_number = Column(String(32))
使用原生SQL语句
12INSERT INTO contacts(name, phone_number)VALUES('wang', '123456789 ...
Flask基础
Flask基础依赖12345flaskpython-dotenvwatchdogflask-wtfflask-cors
视图函数视图函数最多可以返回由三个元素组成的元组:响应主体、状态码、首部字段。
1. 重定向12345678910from flask import Flask, redirect, url_for@app.route('/hi')def hi(): ... return redirect(url_for('hello'))@app.route('/hello')def hello(): ...
2. 错误响应12345from flask import Flask, abort@app.route('/404')def not_found(): abort(404)
响应格式1234567from flask import make_response@app.route('/foo')def foo(): response = ...
ORM
request模块1、request.method查看请求方式
2、request.form获取POST请求提交的数据
123456@app.route('/login',methods=['GET','POST'])def fn(): if request.method == 'POST': # 判断用户请求是否是post请求 print(request.form) # ImmutableMultiDict([('user_name', '吕星辰'), ('user_password', '123456')]) print(request.form.get('user_name')) # 吕星辰 print(request.form.to_dict()) # {'user_name': '吕星辰', ' ...