在上篇文章提到了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 退出虚拟环境
 
 
   之后再为大家做详细的补充 谢谢!
 

flask入门补充的更多相关文章

  1. Flask入门系列(转载)

    一.入门系列: Flask入门系列(一)–Hello World 项目开发中,经常要写一些小系统来辅助,比如监控系统,配置系统等等.用传统的Java写,太笨重了,连PHP都嫌麻烦.一直在寻找一个轻量级 ...

  2. Flask入门笔记(一)

    一.程序的基本结构 1.1 最简单的Flask程序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #coding=utf-8 # 初始化 from flask import Fla ...

  3. Flask入门HelloWorld

    Flask入门HelloWorld Flask官网:http://flask.pocoo.org/ Flask中文翻译:http://dormousehole.readthedocs.io/en/la ...

  4. Flask入门之结构重组(瘦身)-第13讲笔记

    1. pip list Flask 0.10.1 Flask-Bootstrap 3.3.5.6 Flask-SQLAlchemy 2 Flask-Script 2.0.5 Flask-WTF 0.1 ...

  5. Flask入门之Bootstrap介绍使用和Flask-Nav快速导航栏

    一.Bootstrap Bootstrap,来自 Twitter,是目前最受欢迎的前端框架. Python中,同样可以使用Bootstrap. 1. 导入Bootstrap库 from flask_b ...

  6. Flask入门之Pycharm写Hello Word

    在这里记录整理Flask入门的笔记! 今天讲讲使用Pycharm写一个Hello World 前提是已经安装好Pycharm,安装过程很简单,这里不赘述. 只放两个可以提供注册码的网站: Intell ...

  7. Flask入门和快速上手

    目录 Flask入门和快速上手 python三大主流框架对比 Flask安装 依赖 可选依赖 创建flask项目 flask最小应用--hello word 非法导入名称 调试模式 路由 唯一的 UR ...

  8. Flask 入门一( flask 框架和 flask-script 库)

    Flask 入门一( flask 框架 和 flask-script 库) 一.Flask框架: 1.简介 Flask是一个非常小的Python Web框架,被称为微型框架:只提供了一个稳健的核心,其 ...

  9. Flask入门 flask结构 url_for 重定向(一)

    Flask入门(一) 1 安装虚拟环境Mac,linux sudo pip install virtualenv ​ ubuntu系统 sudo apt-get install python-virt ...

随机推荐

  1. 利用Gson将JSON数据进行格式化(pretty print)

    我们可以利用Gson包将String类型的JSON数据进行格式化. Gson gson = new GsonBuilder().setPrettyPrinting().create(); JsonPa ...

  2. python 控制台单行刷新,多行刷新

    先贴出单行刷新实现的进度条: 对于控制台的单行刷新,比较简单,先直接贴出代码: strarrs = ['/','|','\\'] for i in range(15): sys.stdout.writ ...

  3. Gitflow 工作流简介

    Gitflow工作流简介 Gitflow工作流通过为功能开发.发布准备和项目维护分配独立的分支,让发布迭代过程更流畅. Gitflow工作流定义了一个围绕项目发布的严格分支模型,它会相对复杂一点,但提 ...

  4. DIV+CSS:如何编写代码才能更有效率

    如何编写CSS代码才能更有效率?这是许多网页制作者与开发者都关心的问题.大概没有什么魔法,可以保证一下就把你的样式表缩小到百分之多少,但合理的 CSS 编码与组织技巧,的确能够帮助你的更有效率地写出更 ...

  5. macaca自动化初体验

     1.安装#cnpm i -g macaca-cli macaca-ios# Install Tools And Driver2.检查安装环境#macaca doctor ANT_HOME未设置,下载 ...

  6. Odoo发送短信

    转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9281581.html 一:阿里云短信服务注册 1:开通短信业务:实名认证的个人用户是免费开通:企业用户需要提供 ...

  7. 二进制包 vs. 源代码包

    在ROS中, 我们可能经常会遇到缺少相关的ROS依赖的问题. 有些时候你编译或者运行一些ROS程序, 系统会提示找不到XXX功能包. 如果是缺少ROS的依赖, 通常可以用以下命令来安装: $ sudo ...

  8. nginx学习要点记录

    IO多路复用: 1.轻量 2.cpu亲和性:把CPU核心和nginx工作进程绑定,把每个worker进程固定在一个CPU上执行,减少切换cpu的cache miss,获得更好的性能 3.IO多路复用e ...

  9. 基于 HTML5 Canvas 的智能安防 SCADA 巡逻模块

    基于 HTML5 Canvas 的智能安防 SCADA 巡逻模块 前言 最近学习了 HT for Web flow 插件,除了正常的 flow 效果,其中还有两个十分好用的两个接口 getPercen ...

  10. GoLand(三)数据类型、变量和常量

    Infi-chu: http://www.cnblogs.com/Infi-chu/ 一.数据类型 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存, ...