Flask开发微电影网站(一)

1.用到的Flask知识

  • 1.使用整形,浮点型,路径型,字符串型下正则表达式路由转化器
  • 2.使用GET与POST请求,上传文件,cookie获取与响应,404处理
  • 3.使用模板自动转义,定义过滤器,定义全局上下文处理器,Jinja2语法,包含,继承,定义宏
  • 4.使用flask-wtf定义表单模型,字段类型,字段验证,视图处理表单,模板使用表单
  • 5.使用flask-sqlachemy定义数据库模型,对数据进行增删查改,数据迁移
  • 6.使用蓝图优化项目结构,实现微电影网站前台与后台业务逻辑
  • 7.flask部署,安装编译Nginx,安装Mysql服务以及通过Nginx反向代理对视频流媒体限制下载速率,限制单个IP能发起的播放连接数

2.用到的视频技术

  • 1.jwplayer播放器插件
  • 2.视频限速限IP访问
  • 3.FLV,MP4视频格式支持
  • 4.Nginx点播实现

3.环境说明:

开发系统:Win 7
python版本:3.6.3
开发工具:pycharm 专业版
数据库:MariaDB 5.5.56-Server
数据库所在系统:CentOS 7.4

4.项目模型设计

  • 使用Flask的蓝图Blueprint规划项目结构
  • 使用Flask sqlalchemy定义和业务需求相关的数据库模型
  • 结合MySQL数据库生成数据表

4.1前端搭建

实现前后台html布局页面搭建
实现Jinja2引擎语法
引入静态资源文件,404错误页面的处理

4.2后端开发

Flask sqlalchemy结合MySQL数据表进行增删改查操作
Flask数据分页查询,路由装饰器定义,模板中变量调用,登录会话机制,上传文件
Flask wtforms表单验证,Flask自定义应用上下文,自定义权限装饰器对管理系统进行基于角色权限的访问控制
Flask的多表关联查询,关键字模糊查询等

4.3网站部署

实现在CentOS服务器上搭建Nginx+MySQL+python环境
使用Nginx反向代理多端口多进程部署微电影网站
配置Nginx流媒体访问限制参数

5.前后台项目目录分析:

5.1 前台(home):

数据模型:models.py
表单处理:home/forms.py
模版目录:templates/home
静态目录:static

5.2 后台(admin):

数据模型:models.py
表单处理:admin/forms.py
模版目录:templates/admin
静态目录:static

整个项目目录如下图所示:

6.使用蓝图构建项目目录

6.1 什么是目录

一个应用中或跨应用制作组件和通用的模式,类似于Django中的app

6.2蓝图的作用

将不同的功能模块化
构建大型应用
优化项目结构
增强可读性,易于维护

6.3蓝图构建项目目录

6.3.1 定义蓝图

在home目录下的__init__.py文件

from flask import Blueprint
home=Blueprint(‘home‘,__name__)
import app.home.views

在admin目录下的__init__.py文件

from flask import Blueprint
admin=Blueprint(‘admin‘,__name__)
import app.admin.views          
6.3.2 注册蓝图

修改app目录下的__init__.py文件

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

app.register_blueprint(home_blueprint)
app.register_blueprint(admin_blueprint, url_prefix=‘/admin‘)
6.3.3 调用蓝图

home目录下的views.py文件

from . import home

@home.route("/register/", methods=["GET", "POST"])
def register():
    pass

@home.route("/login/", methods=[‘GET‘, ‘POST‘])
def login():
    pass

admin目录下的views.py文件

from . import admin

@admin.route(‘/‘)
def index():
    pass

@admin.route(‘/login/‘, methods=[‘GET‘, ‘POST‘])
def login():
    pass

原文地址:https://www.cnblogs.com/renpingsheng/p/9054047.html

时间: 2024-10-12 20:46:52

Flask开发微电影网站(一)的相关文章

Flask开发微电影网站(五)

后台管理页面是系统管理员登录后对网站进行管理的前端页面 后台登录页面,如下图所示 管理员登录后的页面,如下图所示 管理员登录后,在右上角显示的管理员信息,如下图所示 管理员登录后,在页面中间部分的左侧显示管理菜单 管理菜单包括控制面板,标签管理,电影管理,预告管理,会员管理,评论管理,收藏管理,日志管理,权限管理,角色管理,管理员管理等菜单,每个菜单下有子菜单进行细分管理控制 管理员可以使用菜单对网站进行管理 在上面的图片中,可以看到,后台管理页面的顶部部分都是一样的,所以可以把后台管理页面顶部

Flask开发微电影网站(六)

1. 后台管理登录功能实现 1.1 后台管理页面登录表单LoginForm 在app的admin目录下创建forms.py文件,用来保存admin蓝图中需要使用到的表单 from flask_wtf import FlaskForm from wtforms import StringField, PasswordField, SubmitField, FileField, TextAreaField, SelectField, SelectMultipleField from wtforms.

Flask开发微电影网站(二)

1.安装数据库连接依赖包 pip install flask-sqlalchemy 2.创建movie数据库 在CentOS虚拟机,进入MaridDB数据库提示符,创建movie数据库 create database movie 3.定义MaridDB数据库连接 在app目录下的__init__.py文件中添加以下内容 # _*_coding:utf-8_*_ from flask import Flask, render_template from flask_sqlalchemy impor

使用flask开发网站后端

Flask 是一个用于 Python 的微型网络开发框架,可以用于快速的搭建一个小型的网站. 我的搜索引擎:http://www.abelkhan.com 就是基于flask开发 一个flask的Hello World from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()

flask开发restful api

在此之前,向大家说明的是,我们整个框架用的是flask + sqlalchemy + redis.如果没有开发过web,还是先去学习一下,这边只是介绍如果从开发web转换到开发移动端.如果flask还不是很熟悉,我建议先到这个网站简单学习一下,非常非常简单.http://dormousehole.readthedocs.org/en/latest/ 一直想写一些特别的东西,能让大家学习讨论的东西.但目前网上的很多博客,老么就按照官方文档照本宣读,要么直接搬代码,什么都不说明.我写这个系列的博客,

Flask构建微电影(二)

第三章.项目分析.搭建目录及模型设计 3.1.前后台项目目录分析 微电影网站 前台模块 后台模块 前台(home) 数据模型:models.py 表单处理:home/forms.py 模板目录:templates/home 后台(admin) 数据模型:models.py 表单处理:admin/forms.py 模板目录:templates/admin 静态文件:static 开始创建目录,如下: 3.2.蓝图构建项目目录 什么是蓝图? 一个应用中或跨用用制作应用组件和支持通用的模式 蓝图的作用

Flask开发实战:前言

Flask 好不好自己去网络找,本系列博文参考李辉的<Flask Web开发实战> 一本书核心内容 本书由三部分组成,分别为基础篇.实战篇.进阶篇,共16章.本书章节经过精心设计,力求让读者可以循序渐进地掌握Flask开发的基础知识和技巧. 第一部分:基础篇.介绍Flask开发相关的基础知识. ·第1章:搭建开发环境,编写一个最小的Flask程序并运行它,了解Flask基本知识. ·第2章:介绍Flask与HTTP的交互方式以及相关的Flask功能. ·第3章:介绍Jinja2模板的使用. ·

IOS游戏开发相关网站

首先记录并分享下我收集到的几个自学时最常用到的一些网站链接. 直接进入正题: 1-Stack Overflow http://stackoverflow.com/ 这个是国外类似于百度知道的网站,但是专注于回答程序开发相关问题,我有非常多的问题都是通过在这里查询解决的,这是我们百度知道所不知道的事情. 2-iOS Developer Library http://developer.apple.com/library/ios/navigation/#section=Resource%20Type

使用IntelliJ IDEA开发SpringMVC网站

使用IntelliJ IDEA开发SpringMVC网站(一)开发环境 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置 使用IntelliJ IDEA开发SpringMVC网站(三)数据库配置 使用IntelliJ IDEA开发SpringMVC网站(四)用户管理 感谢Cenyol提供的SpringMVC 的github项目:https://github.com/Cenyol/SpringMVC.git