在学习flask中,重定向,渲染,反转老是不怎么明白,今天明白了其中的点了,来给大家分享下

  rend_templete()这个函数就是一个渲染的作用,渲染html的东西。

  url_for是反转视图函数的,比如

@app.route('/')

def index():
return "this is a page"

  url_for通过index函数返回的是/页面,注意返回的是一个路由,是在定义好的路由的页面返回 / 的是一个路由,可以用print(url_for('index')) 结果应该是/

  而重定向,重定向可以配合着url_for()进行使用,这样的话,大家可以思索下,为什么是配合着url_for而不是直接跳转到路由的地方

  

  解答:

  以后项目需要改路由的时候,直接改路由就好了,不需要改内置函数,这样比较方便。

   在写路由的时候,我们可以看到路由中有变量的操作,这样对变量的操作,是否可以加一个限制?可以的,

比如,写进去一个id,设置一个int类型。


@app.route('/')
def index():
return "this is a page" @app.route('/detail/<int :id>/')
def detail(id):
return "%s "% id 

  这个来自于flask手册的内容

int 接受整数
float 同 int ,但是接受浮点数
path 和默认的相似,但也接受斜线

  我们也可以自定义一个限制的变量

from werkzeug.routing import  BaseConverter
#导入一个BaseConverter,可以按住ctrl+鼠标左键点进去看看。
#再声明一个类继承BaseConverter,继承之后再把这个规则添加上就可以了 class TelephoneConvert(BaseConverter): regex = r'1[456]\d{9}' #regex是一个正则匹配的东西,想研究的可以百度搜索下 #把规则添加到BaseConverter中去
app.url_map.converters['tel'] = TelephoneConvert #下面做个测试
@app.route('/telephone/<tel:my_tel>/')
def tel(my_tel):
return "the telephone is %s" %my_tel

  这个例子就很好的说明了,在开发的时候是可以自定义一个类进行添加的,后面会遇到传递参数的问题,其实传递参数也不难,要一开始就理解flask中url变量这个知识点,理解透了自然就懂了。关键点就是参数传递,传递时候在return rend_templetes or url_for or redirect后面加上就行了。

  补充一些零碎的东西:
  1.当想要设置成内网访问的时候,需要在app.run()里面加上host = '0.0.0.0'

  2.如果想要更改端口,那么再加上port='端口号'。注意修改端口启动的时候,不要以flask自带的run,进行启动,在终端中用 python app.py 中启动。这样启动的结果就会以你想要的端口号进行启动了。

  3.可以设置一个dubug = True,这样flask进行调试的时候,就不需要每次都关闭再重新进行启动了。

  ----------------------------------------再次补充----------------------------------------------------------------------------------------------

  平常用的重定向是redirect()暂时性重定向,还有一个是永远重定向。暂时性重定向是302,永远重定向是301。我会了之后再进行补充。

flask中的重定向,渲染,反转视图函数的更多相关文章

  1. flask中url_for使用endpoint和视图函数名

    在flask中,使用url_for 进行路由反转时,需要传递一个endpoint的值,用法如下: @app.route('/', endpoint='my_index') def index(): r ...

  2. Flask从入门到精通之在视图函数中处理表单

    在新版hello.py 中,视图函数index() 不仅要渲染表单,还要接收表单中的数据.更新后的index() 视图函数如下: @app.route('/') def index(): name = ...

  3. Flask实战第6天:视图函数Response返回值

    视图函数的返回值会被自动转换为一个响应对象,Flask的转换逻辑如下: 如果返回的是一个合法的响应对象,则直接返回 可以使用make_response函数来创建Response对象,这个方法可以设置额 ...

  4. flask第七篇——URL与视图函数的映射

    有兴趣的朋友可以添加微信公众号:自动化测试实战 今天开始就要进入正题了.大家都准备好了吧~ 代码提示 先和大家说个小知识点:有同学后台说输入flask代码pycharm不提示,现在告诉你一个解决方法: ...

  5. 6、Flask实战第6天:视图函数Response返回值

    视图函数的返回值会被自动转换为一个响应对象,Flask的转换逻辑如下: 如果返回的是一个合法的响应对象,则直接返回 可以使用make_response函数来创建Response对象,这个方法可以设置额 ...

  6. flask中用类的方式构造视图函数

    from flask import Flask from flask.views import MethodView app = Flask(__name__) class IndexView(Met ...

  7. Django之views视图函数

    views视图函数属于MTV中逻辑处理的部分视图函数包含着两个对象,HttpRequest对象和HttpResponse对象 一.HttpRequest对象 HttpRequest对象在Django中 ...

  8. 转载 Flask中客户端 - 服务器 - web应用程序 是如何处理request生成response的?

    文章转载自https://blog.csdn.net/weixin_37923128/article/details/80992645 , 感谢原作者 当客户端向服务器发送一个请求时,服务器会将请求转 ...

  9. flask中请求勾子

    请求勾子 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: *在请求开始时,建立数据库连接; *在请求开始时,根据需求进行权限校验; *在请求结束时,指定数据的交互格式; 为了让每 ...

随机推荐

  1. Pytorch显存动态分配规律探索

    下面通过实验来探索Pytorch分配显存的方式. 实验 显存到主存 我使用VSCode的jupyter来进行实验,首先只导入pytorch,代码如下: import torch 打开任务管理器查看主存 ...

  2. OLTP与OLAP分析与比较

    (本文转载自Super_Mu的博客https://www.cnblogs.com/hhandbibi/p/7118740.html) 1.OLTP与OLAP的介绍 数据处理大致可以分成两大类:联机事务 ...

  3. 《GNU_Makefile》第4章——makefile规则

    规则明确在什么情况下,使用什么方法,重构文件,该文件称为目标. make的唯一目的是重构终极目标.终极目标默认是第一个目标. 1. 2.规则语法 TARGETS : PREREQUISITES COM ...

  4. ceph客户端服务端属性匹配关系

    ceph的server是定期会发布版本,而它的客户端是放到linux 内核当中的,一些属性的支持是依赖于内核版本的,这样就存在一些问题,一些功能后端支持,而客户端旧了:还有可能是客户端用的很新的内核, ...

  5. MYSQL学习(三) --索引详解

    创建高性能索引 (一)索引简介 索引的定义 索引,在数据结构的查找那部分知识中有专门的定义.就是把关键字和它对应的记录关联起来的过程.索引由若干个索引项组成.每个索引项至少包含两部分内容.关键字和关键 ...

  6. Python_faker (伪装者)创建假数据

    faker (伪装者)创建假数据 工作中,有时候我们需要伪造一些假数据,如何使用 Python 伪造这些看起来一点也不假的假数据呢? Python 有一个包叫 Faker,使用它可以轻易地伪造姓名.地 ...

  7. 认识socketserver

    1.服务端 # 如果socket起一个tcp服务,在同一个时间只能和一个客户端通信 # 如果socketserver起一个服务,在同一个时间就可以和多个客户端通信了 # socketserver # ...

  8. 讲武德,你们要的高性能日志工具 Log4j2,来了

    Log4j 介绍过了,SLF4J 介绍过了,Logback 也介绍过了,你以为日志系列的文章就到此终结了? 不不不,我告诉你,还有一个 Log4j 2,顾名思义,它就是 Log4j 的升级版,就好像手 ...

  9. 攻克弹唱第九课(如何运用好G大调和弦)

    在本期文章中,笔者将使用guitar pro7软件与大家分享如何运用好G大调音阶的经验. 众所周知,在我们学习吉他的过程中,先从C大调开始,再以G大调为深入,然后才走过入门的阶段.很多朋友都觉得自己对 ...

  10. 怎么用导图软件iMindMap整理C语言知识点

    C语言是一门非常基础的编程语言,学习它的难点不在于语言的理解,而在于繁琐的记忆点,而当我们使用思维导图将细碎的知识点拉到框架中去后,C语言的难度就大大降低了. 接下来就为大家介绍一下我使用iMindM ...