前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >flask入门补充

flask入门补充

作者头像
py3study
发布2020-01-19 14:30:48
5390
发布2020-01-19 14:30:48
举报
文章被收录于专栏:python3

  在上篇文章提到了json的编码问题。那么Flask是国外开发的框架,没有考虑到中文编码,那么我们就需要自己配置

  那么在访问页面的时候会有 get 请求和post  请求。在下边我也会提到。以及没有接触过编程的,我会推荐一个软件,

  来查看页面的请求是 post 还是 get 请求  以及我还会提到 在搭建项目的时候,软件更新版本,原来的老项目不能用

  的解决方法。也会有提到。

  以下有一些配置方法。仅供参考

# 第一种配置方法,是在py文件中直接配置的。

# app.config['JSON_AS_ASCII'] = False

# debug开启模式

# app.config['DEBUG'] = True

# 第二种方式

# 从外部引入配置文件,用于加载,也就是需要新创建一个ini配置文件   config.ini

# 内部代码就俩行

DEBUG = True

JSON_AS_ASCII = False

# 再回到原来的文件引入

# app.config.from_pyfile('config.ini')

# 第三种方式是配置环境变量。

# # C:\Users\自己的路径,我找的是绝对路径 \www\web\config.ini 从环境变量中来配置加载

# 我的是在win-10下搭建的

# 计算机-属性-更改设置-高级-环境变量-新建    那么第一行你需要起名,第二行需要复制路径,也就是上边的路径

# 回到py文件中。

# app.config.from_envvar('app_config') # 这里注意在文件中导入的是字符串。

# 第四种方式

# 建立一个配置类 其实就是第一种方法,只是在类中封装

class Config(object):

  DEBUG = True

  JSON_AS_ASCII = False

# 那么在调用这个类名。就可以了

app.config.from_object(Config)

  请求代码

# 使用jsonify模块来让网页直接显示json数据

# 实际是接口开发 被访问是get 或者是 post 的俩种接收方式

# 以json吐数据

# @app.route('/json', methods=['GRT','POST']) # 可以只留post方式

@app.route('/json', methods=['POST']) # 可以只留post方式,那么就会走下边的errorhandler方法

def re_json():

json_dict = {'id':10, 'title':'flask的应用','content':'flask的json格式化'}

# 使用jsonify来讲定义好的数据转换为json格式,并且返回给前段

return jsonify(json_dict)

# Flask统一对状态码捕获异常

@app.errorhandler(405)

def internal_server_error(e):

# 为了用户体验。我们把错误的提示信息以文字的方式返回

return '这个接口不能被get请求到。只能发送Post请求'

# 捕获404的异常。

@app.errorhandler(404)

def internal_server_error_one(e):

# 这里也一样。

return '网页不存在或者已经删除'

  那么对于没有接触过编程的朋友们来说。有一款很强大的短信。postman  意为邮差,很实用的一款软件,

  百度一下的话,都会有软件的介绍,这里就不多说了。他可以发送post 和 get请求来抓取网址页面的内容  一般是 

  用来在开发中测试api   大姐有兴趣的可以了解一下

  那么也可以用requests 模块来模拟post请求和get请求,因为是爬虫,所以也要有访问的方式,

  很简单的代码。如下

import requests

# 使用requests模块来发送post请求

r = requests.post('http://127.0.0.1:5000/json')

# r = requests.get('http://127.0.0.1:5000/')

html = r.content.decode('utf-8') # 解码

print(html)

  也可以拿到我们页面的内容

  这里我是在windows下搭建的。没有用Linux, 那么在创建文件目录下种不要有中文。

  如果安装不上。用virtualenv --no-setuptools --no-pip --no-wheel venv在安装试试

  在python中的版本一般不向下兼容,也就是说python3.0的版本不适合python2.0的版本,那么我原来的

  项目是用2.0的版本搭建的。现在放在3.0上运行会不兼容。比如print 在2.0和3.0中的区别,

  我们需要下载一个模块 pip install virtualenv  用来安装虚拟环境

  当下载好之后

  首先在命令窗口 找到项目,在项目中运行代码。如下:

# C:\Users\xxxxxxx\www>pip install virtualenv

# C:\Users\xxxxxxx\www\webone>virtualenv venv

 在输入这行命令之后会有 如下的显示,证明安装成功。暂时还没有解决安装不成功的方案,后续在解决

# Using base prefix 'c:\\users\\bingyue\\appdata\\local\\programs\\python\\python37'

# New python executable in C:\Users\bingyue\www\webone\venv\Scripts\python.exe

# Installing setuptools, pip, wheel...

# done.

下载完成之后,我们进入原项目中,会发现多一个目录。venv的文件夹。我们进入Scripts  运行命令 activate

当出现下边代码第二行 前缀有  (venv) 那就证明虚拟环境搭建成功。 退出虚拟环境 deactivate

# C:\Users\xxxxxxx\www\webone\venv\Scripts>activate 进入虚拟环境

# (venv) C:\Users\xxxxxxx\www\webone\venv\Scripts> 提示我进入虚拟环境

# (venv) C:\Users\xxxxxxx\www\webone\venv\Scripts>deactivate 退出虚拟环境

   之后再为大家做详细的补充 谢谢!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/04/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档