开始自己动手flask连接数据库才发现,之前学的东西几乎都忘光了 连虚拟环境都不会建,之前倒是想保持每天写博客的好习惯,结果也只写了六七天吧 这些东西还是要捡起来,可能对之前的笔记也要好好整理 最近先慢下来做点反思吧 一、主内容 0.windows命令常用 cd ---- 后接当前文件下目录中文件 cd.. ---- 退回上级 dir ---- 展示当前文件夹所有内容 exit ---- 直接退出命令窗口 1.虚拟环境 pip install virtualenvwrapper-win pip install virtualenvwrapper 新建虚拟环境:mkvirtualenv new_env 用这个的时候会自动创建在Envs文件夹下面,并打开 列出虚拟环境:lsvirtualenv 或者workon 进入虚拟环境:workon new_env 跳转到虚拟环境目录:cdvirtualenv 查看所有安装的包:lssitepackages 退出虚拟环境:deactivate 删除虚拟环境:rmvirtualenv new_env 激活虚拟环境:把目录写道虚拟环境下的scripts文件夹下面,然后activate 2.app的运行 app.run内含port,debug,host三个参数 可以通过 app.run(port=8080,host=...)设置启动参数 host=0.0.0.0时所有主机都可以访问本机服务器 3.路由 URL : http://192.168.1.10:8080/index *路由的两种方式: 1>直接方法:定义完毕视图函数之后加上 app.add_url_rule('/index', view_func=index) 2>装饰器方法:在定义视图函数前一行 @app.route('/index') 这个装饰器其实就是将rule字符串跟视图函数进行了绑定,底层仍是通过add_url_rule()实现的绑定 *路由的变量规则: string 接受任何不包含斜杠的文本 (常用) int 接受正整数 (常用) float 接受正浮点数 path 类似 string ,但可以包含斜杠 uuid 接受 UUID 字符串 在路由中声明变量 @app.route('/<path:pp>') def hello_world(pp): return pp 路由之后可以加上endpoint,其相当于一个别名,但无法通过输入别名请求 @app.route('/',endpoint='index') 4.视图(响应部分) 视图即视图函数,其返回值都是一个response对象 *view函数返回值 str 自动转成response对象 dict json格式 response response对象 redirect 重定向 make_response() response对象 render_template() 模板渲染 redirect(url_for(endpoint)) 重定向 状态码 请求类型(‘GET’,‘POST’) print(response.content_type) 响应头 print(response.headers) 响应码 print(response.status_code) # 200 状态 print(response.status) # 200 OK *创建response对象: rsp = make_response('Hello word.') *定制响应头: rsp.headers['Authorization'] = 'test_token' 最终加上 Authorization:test_token *反向解析(利用endpoint) @app.route('/',endpoint='index') 时 print(url_for('index')) 结果为'/' *redirect 1>可直接加上网址链接 return redirect('http://www.baidu.com') 2>视图函数路径 return redirect('index') 3>与url_for反向解析一起用 return redirect('hello_world') 括号内为函数名 注册了蓝图时,则采用 use_bp.hello_world的方式 5.视图(请求部分) *属性: print(request.headers) print(request.path) print(request.full_path) print(request.base_url) print(request.url) *请求方法相关: get: request.args 底层是字典的形式 主要获取get提交的请求参数 username = request.args.get('username') post:
flask框架网站开发(到数据库操作为止)
于 2022-03-10 23:18:31 首次发布