基于Flask框架搭建视频网站的学习日志(二)

基于Flask框架搭建视频网站的学习日志(二)2020/02/02

一、初始化

所有的Flask程序都必须创建一个程序实例,程序实例是Flask类的对象

from flask import Flask
app = Flask(__name__)

Flask 类的构造函数Flask()只有一个必须指定的参数,即程序主模块或包的名字。在大多数程序中,python的__name__变量就是所需的值。(Flask这个参数决定程序的根目录,以便稍后能够找到相对与程序根目录的资源文件位置)——《Flask Web开发》

二、路由和视图函数

1.路由:

个人对路由的理解:程序实例需要知道每个URL请求运行那些代码,用route()修饰器把函数绑定到URL上

2.视图函数:

返回的响应可以是字符串或者复杂的表单

三、动态路由

变量规则 Flask中文文档(https://dormousehole.readthedocs.io/en/latest/quickstart.html)

通过把 URL 的一部分标记为<variable_name> 就可以在 URL 中添加变量。标记的 部分会作为关键字参数传递给函数。通过使用 <converter:variable_name>,可以 选择性的加上一个转换器,为变量指定规则。请看下面的例子:

@app.route('/user/<username>')
def show_user_profile(username):
    # show the user profile for that user
    return 'User %s' % escape(username)

@app.route('/post/<int:post_id>')
def show_post(post_id):
    # show the post with the given id, the id is an integer
    return 'Post %d' % post_id

@app.route('/path/<path:subpath>')
def show_subpath(subpath):
    # show the subpath after /path/
    return 'Subpath %s' % escape(subpath)

转换器类型:

string (缺省值) 接受任何不包含斜杠的文本
int 接受正整数
float 接受正浮点数
path 类似 string ,但可以包含斜杠(与string区分)
uuid 接受 UUID 字符串

! 注意:<converter:variable_name>中间不能有空格,格式要一致

四、启动服务器

if __name__ == '__main__':
    app.run(debug=True)

1.服务器启动以后会进入轮询,等待并处理请求(轮询是用来解决服务器压力过大的问题的。如果保持多个长连接,服务器压力会过大,因此。专门建立一个轮询请求的接口,里面只保留一个任务id,只需要发送任务id,就可以获取当前任务的情况。如果返回了结果,轮询结束,没有返回则等待一会儿,继续发送请求。 )

2.把debug参数设置为True,启用调试模式

3.在浏览器上输入网址,如果是生成的初始网址,并且URL带了变量,这时先会返回错误,因为生成的初始网址里面没有变量,例如应该加上/user/44654。其中的<>也要去掉

原文地址:https://www.cnblogs.com/fragrant-breeze/p/12258080.html

时间: 2024-10-06 08:29:44

基于Flask框架搭建视频网站的学习日志(二)的相关文章

基于Flask框架搭建视频网站的学习日志(六)之数据库

使用Flask-SQLSlchemy管理数据库(1)--初步安装调试 一.介绍: Flask-SQLSlchemy是一个Flask扩展,简化了Flask中对sql的操作,是一个高层的框架,可以避免直接接触SQL语言,就是传说中的ORM技术:Object-Relational Mapping,把关系数据库的表结构映射到对象上. 二.安装: (仅供参考,我即在cmd里面安装了,又在pycharm的settings里面也装了,应该是正解吧 吧 吧:) cmd:pip install flask-sql

视频编解码学习之二:编解码框架

第四章 视频编码基础 1. 压缩码流 语法:码流中各个元素的位置关系 01001001… 图像编码类型(01),宏块类型(00),编码系数1001等 语义:每个语法元素所表达的意义. 例如:图像编码类型 2. 编码层次 序列(Sequence) 图像组(Group of Pictures,GOP) 图像(Picture) 条带(Slice) 宏块(Macroblock,MB) 块(Block) 3. 码流结构 3. PB帧编码 4. 序列编码对象 (1)IBBP序列 序列:一段连续编码的并具有相

基于Flask框架的Python web程序的开发实战 &lt;一&gt; 环境搭建

最近在看<Flask Web开发基于Python的Web应用开发实战>Miguel Grinberg著.安道译 这本书,一步步跟着学习Flask框架的应用,这里做一下笔记 电脑只安装一个Python2.7就行了,用的IDE还是官方那个跟记事本差不多的编辑器,先原始一点,以后再用PyCharm开发,我系统是Win8.1 x64 一:虚拟环境配置 虚拟环境使用第三方工具virtualenv创建,打开cmd,输入virtualenv命令来检测是否已经安装,我已经装过了,所以会提示:You must

基于Cent OS7搭建apache网站后的访问控制配置详解

在一台centos7上搭建apache网站后,一般都是允许所有人访问的,那么可能会有一些特殊情况,需要对访问网站的人进行限制,出于这种情况,apache可以通过Require配置项,来对客户端进行一些访问限制,可以基于IP地址.网段.主机名或域名.使用名称"all"时表示任意地址. 安装apache服务的参考博文:https://blog.51cto.com/14154700/2391114 1.客户机地址限制: 限制策略的常用格式有下面几种: Require all granted:

基于centos 7搭建Nginx网站服务器(包含虚拟web主机的配置)

Nginx专为性能优化而开发,其最大的优点就是它的稳定性和低系统资源消耗,以及对http并发连接的高处理能力,单台物理服务器可支持20000~50000个并发请求,正是如此,大量提供社交网络.新闻资讯.电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供web服务,目前中国大陆使用nginx网站用户有:新浪.网易.腾讯,另外知名的微网志Plurk也使用nginx. Nginx是一个很牛的高性能Web和反向代理服务器,它具有有很多非常优越的特性: 高并发连接:官方测试能支撑5万并发连接,在实际生

基于SSM框架下的JAVA移动学习平台

每天记录学习,每天会有好心情.*^_^* 今天记录的项目是移动学习平台的设计与实现,这个项目是这么回事:随着知识更新的速度越来越快,终身学习的理念逐步深入人心,同时,移动通信技术与互联网技术的迅猛发展,让移动互联网成为现实.以智能手机.PDA等移动终端设备为标志的.基于成熟的3G移动通信技术与互联网技术的移动学习方式被越来越多的人所采用,移动学习以其随时随地进行学习的便利性,满足了人们终身学习的需求..做这个项目的时候,我们需要用到SSM(MYECLIPSE)框架,开发工具选用最拿手的MYECL

基于gin框架搭建的一个简单的web服务

刚把go编程基础知识学习完了,学习的时间很短,可能还有的没有完全吸收.不过还是在项目中发现知识,然后在去回顾已学的知识,现在利用gin这个web框架做一个简单的CRUD操作. 1.Go Web框架的技术选型 Top 6 web frameworks for Go as of 2017,可以看看这个go语言中Web框架的对比和老大的推荐,我选择gin框架作为学习go语言的框架. image.png 2.Gin介绍 gin框架的中文文档,这个文档相当好,清晰明了解释gin框架的整个用法.下面是gin

node.js基于express框架搭建一个简单的注册登录Web功能

这个小应用使用到了node.js  bootstrap  express  以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注明一下版本,因为express因为版本的不同使用的方式也不同,我这算是目前最新的了吧 还没有装express的可以移步到这里 看看express框架的获取安装 1.简单地项目初始化 进入你的nodejs安装路径下边,如图,然后执行命令  express -e test  (这里把项目名设置为test

发布一个开源项目,基于thinkphp框架搭建的一个简单框架

采用Thinkphp框架,实现项目基础平台,实现数据库搭建维护,自动实现数据列表.数据管理(新增.修改.删除)等功能.