在上篇文章提到了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. libcurl-7.54.1附加zlib1.2.11的编译

    手上有个小程序需要通过HTTP协议通信,选择了出名的libcurl作为支持库.由于网上的教程多是命令行编译,本人记性不好,比较讨厌记住一堆命令,因此折腾了一天通过VS对libcurl和zlib进行了编 ...

  2. 囧啊!!时间戳转化为时间出错php

    最近写了一个api,测试也没发现啥问题.可是上线之后发现有时api的返回结果不正确.为什么呢? 调我接口的同学给了两个调用示例,理论上两个的结果应该一致,实际结果却不一致. api调用带了一个时间戳参 ...

  3. gp数据库停止

    greenplum是2(master)+7(segment)的集群规模 系统刚准备上线,是用来做统计数据库的,正在帮忙一个hadoop集群核对其数据的准确性,在这个greenplum库中入了清单数据 ...

  4. debian安装及使用mysql

    在Debian中安装MySQL服务器是很方便的,使用apt-get命令即可完成. debian:~# apt-get install mysql-server mysql-client mysql-s ...

  5. mysql中FIND_IN_SET函数的使用

    有种需求,A和B是父子关系,B和C是父子关系,C与D亦是父子关系,以此类推,无限级 现在需要查询到某一级(包括本级)下面所有的,就需要用到FIND_IN_SET函数 select * from tab ...

  6. android小游戏模版—重力感应

               好久没更新博客了,今天来谈谈android小游戏---重力感应,一般在游戏里运用的比較多,比方这类游戏有:神庙逃亡.极品飞车,平衡球.三围重力迷宫,重力赛车等. 首先什么是重力感 ...

  7. P4053 [JSOI2007]建筑抢修

    题目描述 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是T部落的基地里已经有N个建筑设施受到了严重的损伤,如果不尽快修复的话,这些建 ...

  8. 【转】说说Android中的style和theme

    最近在做软件从2.3到4.0的改变的一些工作,其中涉及了一些style和theme相关的东西.上网上查了一些东西,这个一并说说.关于android中style和theme的基本使用,这里就不再赘述了, ...

  9. mysql太多连接问题及解决方案

    不管是JavaEE开发还是其他,只要是Linux系统下安装的mysql,通常默认最大连接为270. 如果你的客户端连接超过这个数,通常要么是配置文件修改,或者是命令行修改,配置文件修改和命令行修改的区 ...

  10. Java反射学习三

    反射与数组 java.lang.Array类提供了动态创建和访问数组元素的各种静态方法. 例程ArrayTester1类的main()方法创建了一个长度为10的字符串数组,接着把索引位置为5的元素设为 ...