最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【整理】Flask设计模块化的路由

Flask crifan 2607浏览 0评论

对于想要:

  • 获得单个活动的信息:event/id
  • 获取自己的公开的活动列表:event/public/my
  • 获取所有的公开的活动列表:event/public/all

不知道如何设置路由为好。

听说有个:

blueprint

去搜搜,是否是干这个。

flask 路由 设计

Flask 中的设计决策 — Flask 0.10.1 文档

Flask 的设计思路 — Flask 0.10 documentation

使用 Flask-RESTful 设计 RESTful API — Designing a RESTful API with Python and Flask 1.0 documentation

路由 | Flask 开发全攻略

如何自定义Flask中的响应类| 编程派 | Coding Python

Flask:路由-H5工厂

    print url_for(‘login’, name =’joe’) #生成login的路由(带未知参数将作为查询参数):/login?name=joe 

    print url_for(‘profile’, username=’John’) #生成profile路由(带已知参数):/user/John

图灵社区 : 阅读 : Python超级明星WEB框架Flask

Flask是一个相对于Django而言轻量级的Web框架。

和Django大包大揽不同,Flask建立于一系列的开源软件包之上,这其中 最主要的是WSGI应用开发库Werkzeug和模板引擎Jinja:

 

策略 :werkzeug和Jinja这两个库和Flask一样,都是pocoo团队开发的。这 或许体现了pocoo与Django竞争时关于生态的一种策略,这种策略的自然 延伸是Flask框架中没有包含数据库方面的构件,无论ORM还是其他。

关注点 :Flask是一个WSGI应用框架,这意味着我们进行Flask开发时,不需要 关注网络方面的操作,Flask应用的入口是封装过的网络请求包,出口是 网络响应,我们仅需要关注这个阶段内的处理逻辑。

WSGI服务器 :Flask虽然内置了简单的WSGI服务器,但其性能仅仅适用于开发期的调试。 Flask官网推荐了多种WSGI服务器,实现方式从多进程到多线程到协程, 这方面的选择我们在本课程中将不涉及。

REST适应性 :虽然Flask和Django一样,最初的出发点都是服务端的动态网页应用。但 Flask的设计使之也相当适用于面向资源的REST架构,在越来越移动化 并且单页应用越来越重要的WEB开发领域,这是Flask相对于Django相当 大的优势。

添加查询参数 : 使用关键字参数,可以在构造的URL中生成查询串。下面的调用将生成 /contact?format=json

@app.route('/')

def v_index():

print url_for('v_contacts',format='json')

return ''

@app.route('/contact')

def v_contacts():pass

添加URL变量 : 如果指定访问点对应的视图函数接收参数,那么关键字参数将生成对应的参数URL。下面的 示例将生成/contact/Julia?format=html:

@app.route('/')

def v_index():

print url_for('v_contact',name='Julia',format='html')

return ''

@app.route('/contact/<name>')

def v_contact(name):pass

</name>

添加锚点 :使用_anchor关键字可以为生成的URL添加锚点。下面的示例将生成URL /contact#part2

@app.route('/')

def v_index():

print url_for('v_contacts',_anchor='part2')

@app.route('/contact')

def v_contacts():pass

外部URL : 默认情况下,url_for()生成站内URL,可以设置关键字参数_external 为True,生成包含站点地址的外部URL。下面的示例将生成URLhttp:///contacts:

@app.route('/')

def v_index():

    print url_for(‘v_contacts’,_external=True)

@app.route('/contact')

def v_contacts():pass

图灵社区 : 阅读 : Flask RESTful Web服务的开发套路总结

python 设计模式之 装饰器 – Daniels Cai’s Blog

flask 蓝图

如何理解flask中的蓝本? – 知乎

用蓝图实现模块化的应用 — Flask 0.10.1 文档

用蓝图实现模块化应用 — Flask 0.10.1 documentation

使用蓝图的模块化应用 — Flask 0.10 documentation

蓝图 | Flask之旅

flask-docs-chs/blueprints.rst at master · kxxoling/flask-docs-chs

Flask之蓝图(Blueprint) – 简书

Flask blueprint蓝图按功能模块化架构实例 – 楊雲 – 51CTO技术博客

在Flask蓝图中使用动态URL前缀 – digwtx – SegmentFault

-》目前的理解是:

API的话,只考虑返回数据,而不考虑现实html页面

而此处的任务是:

既要得到数据,也要显示页面

-》所以此处暂时不是去设计RESTFUL的API

暂时还是用自己的路由就好

-》等以后有需要的时候,再去:

  • 把通过独立的api去获取数据
  • 把得到的数据render显示出html

去分开。

-》等有时间,再去折腾blueprint

转载请注明:在路上 » 【整理】Flask设计模块化的路由

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
89 queries in 0.192 seconds, using 22.11MB memory