美文网首页利用Flask搭建微电影视频网站
利用Flask搭建微电影视频网站(四):后台页面搭建

利用Flask搭建微电影视频网站(四):后台页面搭建

作者: 啃饼小白 | 来源:发表于2018-09-06 07:18 被阅读18次

关于博主

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

                                      微信公众号:  啃饼思录
                                    QQ: 2810706745(啃饼小白)

写在前面

本篇笔记,我们来学习Flask网站后台页面的搭建,因此我们本篇内容均在admin目录下面进行,所有与home相关的页面此刻都可以关闭了。

本篇笔记对应上传的仓库为:https://github.com/licheetools/movie对应第四篇。

管理员登录页面搭建

打开我们的app/admin/views.py文件,我们在里面新增以下代码:

from flask import render_template, redirect, url_for

# 登入
@admin.route('/login/')
def login():
    return render_template("admin/login.html")


# 登出
@admin.route('/logout/')
def logout():
    return redirect(url_for('admin.login'))

接下来就是在templates/admin文件夹下面新建对应的html文件(但是我们这里因为logout只是重定向到我们的login页面,因此只需要创建一个login.html即可),然后我们打开新建的login文件,复制3-admin/login.html的内容,并对静态文件和url跳转做一下配置,很简单,这里就不一一演示了。

后台布局搭建


同样我们需要定义一个基面,用于后台页面的继承,在admin文件夹下面新建admin.html文件,将3-admin/admin.html的内容全部复制进去。观察发现,菜单栏是很多页面共有的,所以我们可以新建一个grid.html页面,把菜单栏独立出来<ul class="sidebar-menu"></ul>,注意这样admin.html里面这段代码就要删除了,否则会影响后面的挖坑填坑操作:
接着回到我们的templates/admin/admin.html文件,对css, content,js进行挖坑填坑操作:
然后大家就是修改admin.html文件里面的静态文件加载路径以及访问跳转链接。(里面有很多,需要大家耐心的去修改):

然后修改admin/views.py文件,出现index函数:

@admin.route("/")
def index():
    return render_template("admin/index.html")

之后便在admin下面新建index.html页面,里面写入测试代码:

{% extends "admin/admin.html" %}

{% block content %}
<h1>hello</h1>
{% endblock %}

然后运行一下manage.py文件,发现出了错误:


其实是因为我们重复地导入了自己,因为我们在admin.html页面里面添加了如下代码{% include "admin/admin.html" %}正确的应该是导入我们的菜单栏{% include "admin/grid.html" %},然后你再一次刷新页面,在浏览器地址栏中输入:http://127.0.0.1:5000/admin/就出现了后台管理页面:

修改密码界面搭建

老规矩,在views.py文件里面定义函数和url:

# 修改密码
@admin.route('/pwd/')
def pwd():
    return render_template("admin/pwd.html")

然后在templates/admin文件夹下面新建pwd.html页面,里面的代码如下:


这时候你访问http://127.0.0.1:5000/admin/pwd/页面显示正常,但是你点击左上角的修改密码,却显示404,所以我们需要回到admin.html页面,对跳转进行配置一下:
<a href="{{ url_for('admin.pwd') }}" class="btn btn-default btn-flat">修改密码</a>

现在刷新一下,发现页面跳转是没有问题的。

控制面板搭建

我们现在先来修改指向首页的view函数,就是这样:

# 后台首页
@admin.route("/")
def index():
    return render_template("admin/index.html")
然后修改templates/admin/index.html页面:

接着修改grid.html页面的链接跳转:

<a href="{{ url_for('admin.index') }}">
          <i class="fa fa-circle-o"></i> 控制面板
</a>
刷新一下,就出现这个页面:

但是我们点击左侧的首页按钮,没有显示为被选中状态,我们可以仿照之前的操作,添加id,从而实现选中状态的切换。

打开grid.html页面,我们在图示位置添加代码为图所示:

然后就是前往index.html页面,添加Jqurey代码:

    <script>
    $(document).read(function () {
         $("#g-1").addClass("active");
         $("#g-1-1").addClass("active");
    });
    </script>
就是这样:

标签管理页面搭建

标签管理页面分为两个部分,一个是标签列表,另一个是编辑标签。

老规矩,在views.py文件里面定义函数和url:

# 标签编辑
@admin.route('/tag/add')
def tag_add():
    return render_template("admin/tag_add.html")


# 标签列表
@admin.route('/tag/list')
def tag_list():
    return render_template("admin/tag_list.html")

然后修改grid.html页面:


接着就在templates/admin文件夹下面新建tag_add.html和tag_list.html页面,然后就是写入代码:tag_add页面代码就是这样,其中block content部分来自于3-admin/tag_add.html页面对应的部分,底部的block js是独立的,注意区别。
tag_list页面代码就是这样: 考虑到标签列表的重复性,所以采用for循环:

上映预告管理页面搭建

其实这个和我们的标签管理非常相似,所以我就快速说明:

# 上映预告添加
@admin.route('/movie/add')
def movie_add():
    return render_template("admin/movie_add.html")


# 上映预告列表
@admin.route('/movie/list')
def movie_list():
    return render_template("admin/movie_list.html")

然后修改grid.html页面:

接着就在templates/admin文件夹下面新建movie_add.html和movie_list.html页面,然后就是写入代码:movie_add页面代码就是这样,其中block content部分来自于3-admin/movie_add.html页面对应的部分,底部的block js是独立的,注意区别。

movie_list页面代码就是这样: 考虑到标签列表的重复性,所以采用for循环:

上映预告管理页面搭建

# 上映预告添加
@admin.route('/preview/add')
def preview_add():
    return render_template("admin/preview_add.html")

# 上映预告列表
@admin.route('/preview/list')
def preview_list():
    return render_template("admin/preview_list.html")

在admin下新建对应的html文件,修改grid.html的页面跳转以及g-4和g-4-1,g-4-2。以及列表循环。因为已经演示两遍了,这里就不说明了。

会员管理页面搭建

# 会员列表
@admin.route('/user/list')
def user_list():
    return render_template("admin/user_list.html")


# 查看会员
@admin.route('/user/view')
def user_view():
    return render_template("admin/user_view.html")
在admin下新建对应的html文件,修改grid.html的页面跳转以及g-5和g-5-1,注意此处没有g-5-2!然后打开user_list.html页面,对人员进行for循环,并修改页面跳转链接:
还要注意user-view.html页面,有一段自己独有的css:

评论管理页面搭建

# 评论列表
@admin.route('/comment/list')
def comment_list():
    return render_template("admin/comment_list.html")
在admin下新建对应的html文件,修改grid.html的页面跳转以及g-6和g-6-1,注意此处没有g-6-2!然后打开comment_list.html页面,对评论进行for循环,并修改页面的静态文件路径:

收藏管理页面搭建

# 电影收藏
@admin.route('/moviecol/list')
def moviecol_list():
    return render_template("admin/moviecol_list.html")
在admin下新建对应的html文件,修改grid.html的页面跳转以及g-7和g-7-1,注意此处没有g-7-2!然后打开moviecol_list.html页面,对收藏进行for循环:

日志管理页面搭建


# 操作日志列表
@admin.route('/oplog/list')
def oplog_list():
    return render_template("admin/oplog_list.html")


# 管理员登录日志列表
@admin.route('/adminloginlog/list')
def adminloginlog_list():
    return render_template("admin/adminloginlog_list.html")


# 会员登录日志列表
@admin.route('/userloginlog/list')
def userloginlog_list():
    return render_template("admin/userloginlog_list.html")

在admin下新建对应的html文件,修改grid.html的页面跳转以及g-8和g-8-1,g-8-2,g-8-3!然后打开3个html页面,对管理员,会员进行for循环遍历即可,这里就不多说了。

权限管理页面搭建


# 添加权限
@admin.route('/auth/add')
def auth_add():
    return render_template("admin/auth_add.html")


# 权限列表
@admin.route('/auth/list')
def auth_list():
    return render_template("admin/auth_list.html")

在admin下新建对应的html文件,修改grid.html的页面跳转以及g-9和g-9-1,g-9-2!然后打开auth_list.html页面,对权限进行for循环遍历即可,这里就不多说了。

角色管理页面搭建

# 添加角色
@admin.route('/role/add')
def role_add():
    return render_template("admin/role_add.html")


# 角色列表
@admin.route('/role/list')
def role_list():
    return render_template("admin/role_list.html")

在admin下新建对应的html文件,修改grid.html的页面跳转以及g-10和g-10-1,g-10-2!然后打开role_list.html页面,对角色进行for循环遍历即可,这里就不多说了。需要特别注意的是role_add.html页面有自己单独的css,需要你block一下。

管理员管理页面的搭建


# 添加管理员
@admin.route('/admin/add')
def admin_add():
    return render_template("admin/admin_add.html")


# 管理员列表
@admin.route('/admin/list')
def admin_list():
    return render_template("admin/admin_list.html")

在admin下新建对应的html文件,修改grid.html的页面跳转以及g-11和g-11-1,g-11-2!然后打开admin_list.html页面,对管理员进行for循环遍历即可,这里就不多说了。

至此,我们本篇关于后台页面搭建的介绍就到此为止了,感谢你的赏阅!下一篇,我们将正式进入到后台页面逻辑的开发了,希望你紧跟我的步伐,一步步敲下去,最后一个属于自己的微电影网站就会出现,那时的你心里乐开了花,我们期待着那样的一个你!

本篇笔记对应上传的仓库为:https://github.com/licheetools/movie对应第四篇。

相关文章

网友评论

    本文标题:利用Flask搭建微电影视频网站(四):后台页面搭建

    本文链接:https://www.haomeiwen.com/subject/scnywftx.html