flask框架网站开发(到数据库操作为止)

开始自己动手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:
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值