初学Flask(1)
今天在学习Flask,边看官方文档一边动手运行例子,以注释的形式写了一些笔记,分享给大家。
Flask官方文档,快速入门:
ex1:
#coding:utf-8
#######################
# 1.URL的解析
###################### from flask import Flask
app = Flask(__name__) @app.route('/a')
#这里是用于测试笔记2的
def a():
return 'test a' @app.route('/user/<username>')
def show_user_profile(username):
# show the user profile(简介) for that user
# 可以接收url传递的变量
return 'User %s' % username @app.route('/post/<int:post_id>')
def show_post(post_id):
# show the post with the given id, the id is an integer
# 在地址后面加/post/211654,页面显示Post 211654
return 'Post %d' % post_id @app.route('/hello') #修饰url
def hello_world():
return 'Test debug' @app.route('/')
def index():
return 'Index Page' if __name__ == '__main__':
app.debug = True # 作用是修改完文件,服务器自动重启
app.run(host = '0.0.0.0') # 笔记:
# 1.route(线路)——传入线路(url)触发route下面的方法
# 2.注意区别
# route('/a/')和route('/a') 系统不管是'/a/'还是'/a'
# 都会为其自动增加'/','/a/'正常运行,'/a'报错!
#
ex2:
#coding:utf-8
#######################
# 2.URL的构建
###################### # url_for()函数是用来构建指定函数的URL
from flask import Flask, url_for
app = Flask(__name__) @app.route('/')
def index():
pass @app.route('/login')
def login():
pass @app.route('/user/<username>')
def profile(username):
pass # 告诉 Flask 我们正在处理一个请求,而实际上也许我们
# 正处在交互 Python shell 之中,并没有真正的请求(后面再说)
with app.test_request_context():
print url_for('index')
print url_for('login')
print url_for('login', next='/')
print url_for('profile', username='Xue Wei Han') #为什么不在把 URL 写死在模板中,反而要动态构建?有三个很好的理由: # 1.反向解析通常比硬编码 URL 更直观。同时,更重要的是你可以只在一个地方改变 URL ,而不用到处乱找。
# 2.URL 创建会为你处理特殊字符的转义和 Unicode 数据,不用你操心。
# 3.如果你的应用是放在 URL 根路径之外的地方(如在 /myapplication 中,不在 / 中)
# url_for() 会为你妥善处理。
初学Flask(1)的更多相关文章
- 在初学Flask中遇到的小问题。
今天初步认识到了Flask这个轻量级web开发框架.对于初步认识框架的我,暂时的有了一个小小的认识, 因为初学.也没有什么代码可供参开.一下的就是一个小小的例子. # 导包from flask imp ...
- Flask+mongodb 实现简易个人博客
最近学习完了<flask-web开发>,实现了一个简易的个人博客网站,由flask+mongodb+bootstrap做成, 这个软件是在阅读<Flask-Web开发>后写的一 ...
- 写给新手看的Flask+uwsgi+Nginx+Ubuntu部署教程
学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的 ...
- 《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)
目录 前言 第1章 安装 第2章 程序的基本结构 第3章 模板 第4章 Web表单 第5章 数据库 第6章 电子邮件 第7章 大型程序的结构 前言 学习Python也有一个半月时间了,学到现在感觉 ...
- Flask连接数据库打怪升级之旅
一.前言 在初学 Flask 的时候,在数据库连接这部分也跟每个初学者一样.但是随着工作中项目接手的多了,代码写的多了,历练的多了也就有了自己的经验和技巧.在对这块儿代码不断的进行升级改造后,整理了在 ...
- flask入门与发送邮件与QQ邮箱
前言: 快两个月没写博客了, 原因是懒了, 没有最初写博客那种看到阅读量上涨, 别人给自己文章点赞后的开心. 心态也发生了不少变化. 有机会再来写写. 前两个月我去厦门某公司实习, 本着去厦门玩一玩还 ...
- Flask(2)- 装饰器的坑及解决办法、flask中的路由/实例化配置/对象配置/蓝图/特殊装饰器(中间件、重定义错误页面)
一.装饰器的坑以及解决方法 1.使用装饰器装饰两个视图函数,代码如下 from flask import Flask, redirect, render_template, request, sess ...
- Flask&&人工智能AI --2
参考博客: https://www.cnblogs.com/xiao987334176/p/9598606.html 昨日作业讲解 昨天的作业就是,有3个视图函数,分别是/login,/student ...
- 一个Flask应用运行过程剖析
相信很多初学Flask的同学(包括我自己),在阅读官方文档或者Flask的学习资料时,对于它的认识是从以下的一段代码开始的: from flask import Flask app = Flask(_ ...
随机推荐
- Oracle 11g 的官方支持周期和时限
Oracle公司对于自身产品的支持策略大多数人很难搞清楚,对于Oracle Database 11g的支持周期,有很多朋友产生了异议,参考下文提到的一些文件,希望可以帮助大家理解Oracle的产品支持 ...
- IE6-IE11兼容性问题列表及解决办法总结
相比IE6-IE9那版,主要添加IE10和IE11的新变化. 以下是目录及下载链接: 目录 概述 2 第一章:HTML 3 第一节:IE7-IE8更新 3 1. 如果缺少结束标记的 P 元素后跟 TA ...
- 使用visualVM 1.3.8(visualvm_138-ml.zip) 监控远程Tomcat运行情况
服务端CentOS6.4 x64安装的是jdk1.7 下载visualVM1.3.8-ml 也就是多语言版本,包含中文,界面用起来方便.官方下载地址比较慢,百度上搜索的都是csdn,51cto等必须登 ...
- Android Studio如何引用外部Library工程
参考: http://stackoverflow.com/questions/16588064/how-do-i-add-a-library-project-to-the-android-stu ...
- 实现仿知乎的开场动画,图片zoomin的效果,实现原理,没加动效
知乎等应用的开场动画是:全屏显示一副图像,并以图像的中间为原点,实现放大(也就是zoomin)的动画,让等待的过程不再单调乏味. 最近不是很忙,因此想了下如何实现这种效果,方案是:采用调整imagev ...
- FFrpc python客户端lib
摘要: Ffrpc可以很方便的构建c++ server, 在网游服务器程序开发中,进程间通讯非常的重要,比如gateserver和gameserver或dbserver之间的通信.而ffrpc可以使得 ...
- bss段和data段的区别
一般情况下,一个程序本质上都是由 bss段.data段.text段三个组成的——本概念是当前的计算机程序设计中是很重要的一个基本概念.而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大 ...
- 无法打开包括文件:'atlrx.h'的解决办法
VS 2008中由于将ALT项目的部分代码剥离出去成为了独立的开源项目,需要用到ALT中正则表达式等功能就需要手动下载. 我不是第一个遇到这个问题的,所以已经有前人给出了解决方案. 可到http:// ...
- OceanBase RPC机制简要说明
http://note.youdao.com/share/?id=d2163a7ba8ec1ec58e64683a961c5121&type=note RPC是OB一个比较重要的各个组件间进行 ...
- C# WinForm RDLC报表不预览直接连续打印
用微软的RDLC报表直接打印不预览 直接上代码. //打印清单 System.Data.DataTable dt = print_QD(dr); ReportViewer rvDoc = new Re ...