前言

学完本教程,你将掌握:

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程序

#!/usr/bin/env python
# -*- coding:utf-8 -*-

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "<h1 style='color:red'>hello world<h1>"

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

前后端项目目录分析

蓝图构建项目目录

什么是蓝图?

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

蓝图的作用?

将不同的功能模块化

构建大型应用

优化项目结构

增强可读性,易于维护

app/admin/__init__.py

from flask import Blueprint

admin = Blueprint("admin", __name__)

import app.admin.views

app/home/__init__.py

from flask import Blueprint

home = Blueprint("home", __name__)

import app.home.views

app/__init__.py

from flask import Flask

app = Flask(__name__)

app.debug = True

from app.home import home as  home_blueprint
from app.admin import admin as  admin_blueprint

app.register_blueprint(home_blueprint)
app.register_blueprint(admin_blueprint, url_prefix="/admin")

app/admin/views.py

from . import admin

@admin.route('/')
def index():
    return "<h1 style='color:red'>admin<h1>"

app/home/views.py

from . import home

@home.route('/')
def index():
    return "<h1 style='color:red'>home<h1>"

manage.py

from app import app

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

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

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

安装flask-sqlalchemy

 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. 大数据-06-Spark之读写Hive数据

    简介 Hive中的表是纯逻辑表,就只是表的定义等,即表的元数据.Hive本身不存储数据,它完全依赖HDFS和MapReduce.这样就可以将结构化的数据文件映射为为一张数据库表,并提供完整的SQL查询 ...

  2. Android Native Hook技术(一)

    原理分析 ADBI是一个著名的安卓平台hook框架,基于 动态库注入 与 inline hook 技术实现.该框架主要由2个模块构成:1)hijack负责将so注入到目标进程空间,2)libbase是 ...

  3. 【c++基础】从json文件提取数据

    前言 标注数据导出文件是json格式的,也就是python的dict格式,需要读取标注结果,可以使用c++或者python,本文使用c++实现的. JsonCpp简介 JsonCpp是一种轻量级的数据 ...

  4. pytorch使用tensorboardX进行网络可视化

    我们知道,对于pytorch上的搭建动态图的代码的可读性非常高,实际上对于一些比较简单的网络,比如alexnet,vgg阅读起来就能够脑补它们的网络结构,但是对于比较复杂的网络,如unet,直接从代码 ...

  5. 关于Linux前后台进程切换

    前言: 当使用SSH远程登录服务器时,对于运行时间较长的程序(如Caffe的训练可能需要十几个小时), SSH可能会在很长时间后断掉,导致程序没运行完就中断了. 为了解决这个问题,需要将在服务器运行的 ...

  6. 牛客HJ浇花。

    我也不知道这是什么类型的题,算是简单模拟吧.但是有个方法很赞. 开两个数组,一个模拟花,一个记录不同浇花次数花的数量: 要找浇水的次数,那么记每次浇水的开头和结尾就行了,a—b;那么f[a]++;f[ ...

  7. textarea去掉右下三角号

    /*去掉textarea右下角三角符号*/ resize : none; 修改样式直接覆盖就行,会把默认样式覆盖掉.如border,width,height,border-radius

  8. PTA 6-12 (二叉树的递归删除)

    BinTree Insert( BinTree BST, ElementType X ) { if (BST==NULL) { BinTree tmp=(BinTree)malloc(sizeof(s ...

  9. C语言--第0次作业评分和总结(5班)

    作业链接http://www.cnblogs.com/ranh941/p/7496793.html 一.评分要求 *得分点1:建博客(5分) *得分点2:第0次作业(45分) **问题0:阅读推荐博客 ...

  10. nginx的安装 、Nginx默认虚拟主机、nginx用户认证、nginx 域名重定向

    1.nginx:官网:www.nginx.org 下载:wget -c  http://nginx.org/download/nginx-1.14.0.tar.gz解压:tar -zxvf nginx ...