前言

学完本教程,你将掌握:

1.学会使用整形、浮点型、路径型、字符串型正则表达式路由转化器

2.学会使用post与get请求、上传文件、cookie获取与相应、404处理

3.学会适应模板自动转义、定义过滤器、定义全局上下文处理器、JinJa2语法、包含、继承、定义宏

4.学会使用flask-wtf定义表单模型、字段类型、字段验证、视图处理表单、模板使用表单

5学会使用flask-sqlachemy定义数据库模型、添加数据、修改数据、查询数据、删除数据、数据库事件、数据迁移

6.学会使用蓝天优化项目结构,实现微电影网站前台与后台业务逻辑

7.学会flask的部署方法、安装nginx服务、安装编译python3.6服务、安装mysql服务以及通过nginx反向代理对视频流媒体限制下载速度、限制单个IP能发起的播放连接数

开发环境与业务分析

开发环境:

1.操作系统:Windows10

2.编程语言:Python3.6

下载地址:https://www.python.org/

3.数据库mysql5.7

下载地址:https://dev.mysql.com/downloads/mysql/

4.虚拟化环境:virtualenv:pip install virtualenv

代码编辑器:pycharm

Flask简介

轻量级Web应用框架

WSGI工具箱采用Werkzeug

模板引擎则使用JinJa2

Flask使用BSD授权

一个简单的Flask程序

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. from flask import Flask
  5.  
  6. app = Flask(__name__)
  7.  
  8. @app.route("/")
  9. def index():
  10. return "<h1 style='color:red'>hello world<h1>"
  11.  
  12. if __name__ == '__main__':
  13. app.run()

前后端项目目录分析

蓝图构建项目目录

什么是蓝图?

一个应用中或者跨应用制作组件和支持通用的模式

蓝图的作用?

将不同的功能模块化

构建大型应用

优化项目结构

增强可读性,易于维护

app/admin/__init__.py

  1. from flask import Blueprint
  2.  
  3. admin = Blueprint("admin", __name__)
  4.  
  5. import app.admin.views

app/home/__init__.py

  1. from flask import Blueprint
  2.  
  3. home = Blueprint("home", __name__)
  4.  
  5. import app.home.views

app/__init__.py

  1. from flask import Flask
  2.  
  3. app = Flask(__name__)
  4.  
  5. app.debug = True
  6.  
  7. from app.home import home as home_blueprint
  8. from app.admin import admin as admin_blueprint
  9.  
  10. app.register_blueprint(home_blueprint)
  11. app.register_blueprint(admin_blueprint, url_prefix="/admin")

app/admin/views.py

  1. from . import admin
  2.  
  3. @admin.route('/')
  4. def index():
  5. return "<h1 style='color:red'>admin<h1>"

app/home/views.py

  1. from . import home
  2.  
  3. @home.route('/')
  4. def index():
  5. return "<h1 style='color:red'>home<h1>"

manage.py

  1. from app import app
  2.  
  3. if __name__ == '__main__':
  4. app.run()

运行manage.py 访问http://127.0.0.1:5000/显示home;访问http://127.0.0.1:5000/admin显示admin

会员及会员登陆日志数据模型设计

安装flask-sqlalchemy

  1. pip install flask-sqlalchemy

  

Python Flask 构建微电影视频网站的更多相关文章

  1. Python flask 构建微电影视频网站☝☝☝

    Python flask 构建微电影视频网站☝☝☝ 1.安装数据库连接依赖包 pip install flask-sqlalchemy 2.创建movie数据库 在CentOS虚拟机,进入MaridD ...

  2. Python flask 构建微电影视频网站✍✍✍

    Python flask 构建微电影视频网站  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大 ...

  3. Flask 构建微电影视频网站(一)

    Flask构建电影视频网站 Python MTV模型 Flask微内核 Flask扩展插件配置及使用方法 根据业务开发网站前后台功能 Flask结合MySQL数据库 你将可以独立开发网站 独立部署运维 ...

  4. Flask 构建微电影视频网站(四)

    后台管理 实现后台管理系统使用flask sqlalchemy结合mysql数据库进行增删改查操作.分页的使用.路由装饰器定义.模板中变量调用.登录会话机制.上传文件.flask wtforms表单使 ...

  5. Flask 构建微电影视频网站(二)

    搭建前台页面 前台布局搭建 将static中的文件拷贝到项目的static目录下 在app/templates/home下新建home.html,当作基础模板,并修改静态资源链接 <!docty ...

  6. Flask 构建微电影视频网站(八)

    评论收藏及弹幕 实现电影评论添加及列表.数据查询实现统计播放量和评论量.jquery ajax实现收藏电影,flask结合redis消息队列实现电影弹幕,bug处理等功能. 电影评论-统计 class ...

  7. Flask 构建微电影视频网站(三)

    搭建后台页面 视图函数位于admin文件夹下, app/admin/views.py 管理员登录页面搭建 视图函数 @admin.route('/') def index(): return '后台主 ...

  8. Flask 构建微电影视频网站(七)

    电影模块实现 上映预告 @home.route("/animation/") def animation(): """ 首页轮播动画 "&q ...

  9. Flask 构建微电影视频网站(六)

    会员模块实现 会员注册 class RegistForm(FlaskForm): name = StringField( label="昵称", validators=[ Data ...

随机推荐

  1. 链表 c实现

    linklist.h #ifndef _LINKLIST_H_ #define _LINKLIST_H_ typedef int data_t; typedef struct node{ data_t ...

  2. JavaScript循环语句-6---for语句,while语句的应用逻辑

    JavaScript循环语句 学习目标 1.掌握for语句的语法结构 2.掌握for语句的应用逻辑 for语句 语法: For(语句1:语句2:语句3){ 被执行的代码块: } 语句1:在循环(代码块 ...

  3. 【转载】 强化学习(四)用蒙特卡罗法(MC)求解

    原文地址: https://www.cnblogs.com/pinard/p/9492980.html ------------------------------------------------ ...

  4. I2C总线以及GPIO模拟I2C

    ·I2C总线的一些特征: 1. 只要求两条总线,一条串行数据线(SDA),一条串行时钟线(SCL) 2. 两个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机系统软件设定的地址:主机可 ...

  5. while循环中出现ssh导致读取文件错误

    while read line do ...... ssh ... done < $file 使用上面包含ssh命令的while循环,ssh命令将$file内容全部吞噬,导致只处理完一行即退出: ...

  6. Gym 101889:2017Latin American Regional Programming Contest(寒假自训第14场)

    昨天00.35的CF,4点才上床,今天打的昏沉沉的,WA了无数发. 题目还是满漂亮的. 尚有几题待补. C .Complete Naebbirac's sequence 题意:给定N个数,他们在1到K ...

  7. 2018牛客27---D---愤怒: (有关子序列的dp问题)

    链接:https://www.nowcoder.com/acm/contest/188/D来源:牛客网 题目描述 小w很生气 小w有一个长为n的括号序列 愤怒小w想把这个括号序列分为两个括号序列 小w ...

  8. hibernate中带查询条件的分页

    所谓分页,从数据库中分,则是封装一个分页类.利用分页对象进行分页. 但,分页往往带查询条件. 分页类的三个重要数据:[当前页码数],[数据库中的总记录数],[每页显示的数据的条数] 原理:select ...

  9. WebSafeBase64Decode

    WebSafeBase64Decode golang (adapter zplay doubleclick ) func base64url_decode(s string) ([]byte, err ...

  10. rpm使用

    查找某个rpm包是否安装 rpm -qa|grep 包名 #我们再次安装是会提示和那个包冲突,直接复制那个报名过来就可 安装rpm包 rpm -ivh 报名