管理后台主页

需求

  • 为后台主页提供专门的视图函数
  • 需要带入当前管理员用户相关信息以便在界面进行展示

代码实现

  • 在 modules/admin/views.py 文件中添加视图函数
@admin_blu.route('/index')
@user_login_data
def admin_index():
user = g.user
return render_template('admin/index.html', user=user.to_dict())
  • admin/index.html 模板内容填充

<div class="user_info">
<img src="../../static/admin/images/person.png" alt="{{ user.nick_name }}">
<p>欢迎你 <em>{{ user.nick_name }}</em></p>
</div>

访问测试

  • 完善登录视图函数跳转界面逻辑
@admin_blu.route('/login', methods=["GET", "POST"])
def admin_login():
...
# 跳转到后台管理主页
return redirect(url_for('admin.admin_index'))
  • 完善如果已登录的管理员用户访问登录页面直接跳转到主页逻辑
def admin_login():
if request.method == "GET":
# 去 session 中取指定的值
user_id = session.get("user_id", None)
is_admin = session.get("is_admin", False)
# 如果用户id存在,并且是管理员,那么直接跳转管理后台主页
if user_id and is_admin:
return redirect(url_for('admin.admin_index'))
return render_template('admin/login.html')
...

问题:在当前代码逻辑下,如果一个普通用户直接访问管理后台的主页,或者访问后续实现的视图函数路由,是直接可以进入的,如何解决?

最新文章

  1. ElasticSearch-5.0安装head插件
  2. 【转】 Camera模仿3D效果的小例子(图片无限旋转)
  3. Android中ListView的用法
  4. cocos2dx中常见设计模式
  5. MD5加密与验证
  6. [原创]Net实现Excel导入导出到数据库(附源码)
  7. pupper基线加固
  8. 从源码的角度分析ViewGruop的事件分发
  9. if语句代码优化
  10. yii2单个视图加载jss,css
  11. 【HDOJ】1556 Color the ball
  12. js截取字符串区分汉字字母代码
  13. urllib2修改header
  14. 永久设置mysql中文乱码问题
  15. 命令行神器 Click 简明笔记
  16. yum install mariadb安装数据库开启不了
  17. 十四、ChainOfResponsibility 责任链模式
  18. Shell脚本学习-数组
  19. JavaScript中的Map、Set及其遍历
  20. CentOS7 安装配置DNS服务器

热门文章

  1. SQLSERVER procedure 传入参数为DataTable类型 C#该怎么写
  2. React - React Developer Tools开发者工具的安装与使用(Chrome调试插件)
  3. QT的动图加载
  4. 网页入口ControlServlet分析
  5. IE和Firefox浏览器CSS兼容性技巧整理
  6. MySQL绿色解压缩版安装与配置
  7. angularJS报错$apply already in progress的原因和解决方法
  8. Spring Framework5.0 学习(1)—— 用Gradle构建一个Java Project
  9. PHP 生成全局唯一id
  10. Kali-linux安装并配置NVIDIA显卡驱动