django 通用视图加载动态页问题

apple8160 2016-08-05 10:47:15

base.html #通用视图,分为左右两部分
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>{% block title %}aaaaa{% endblock %}</title>
<link rel="stylesheet" type="text/css" href="/static/script/bootstrap/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="/static/css/Style.css">
<script type="text/javascript" src="/static/script/jquery-1.11.1.js"></script>
<script type="text/javascript" src="/static/script/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
<div class="body-content">
<div class="left-content">
<div class="logoDiv">控制面板</div>
{% include 'home/leftmenu.html' %}#左侧加载菜单

</div>
<div class="right-content">
{% block content %}右侧内容
{% endblock %}
</div>
</div>
</body>
</html>

右侧内容没问题

左侧页面是需动态加载的,每个用户加载的菜单不同
用include只能加载静态模板

用什么方法可以加载动态
单独访问菜单页路径 /leftmenu
...全文
445 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
georgema1982 2016-08-19
  • 打赏
  • 举报
回复
你完全可以用一个menu模板,根据django的permission框架显示不同的菜单项。难道你还要让不同的menu的风格也不同? include可以接收一个变量作为模板名的,所以即使你要用不同的menu模板,也完全在view里返回不同的模板名。所以我完全不明白你在纠结session什么的干什么
apple8160 2016-08-16
  • 打赏
  • 举报
回复
引用 3 楼 georgema1982 的回复:
什么叫include只能加载静态模板?你传一个模板名变量给include不就实现动态了吗? 另外不同用户加载不同的menu在我看来是一个有问题的设计
因为后台需要权限分配 所以菜单会有所不同 路由/leftmenu会获取当前登录的session 来显示不同的菜单 但是include直接展示模板上的内容 无法访问路由也无法获得session 如果我访问/index页面 那么在index函数里 把session发送到模板上 那么菜单母版能获取到该变量
georgema1982 2016-08-12
  • 打赏
  • 举报
回复
什么叫include只能加载静态模板?你传一个模板名变量给include不就实现动态了吗? 另外不同用户加载不同的menu在我看来是一个有问题的设计
apple8160 2016-08-08
  • 打赏
  • 举报
回复
没有人来解答一下么
nieoding 2016-08-08
  • 打赏
  • 举报
回复

...
<span style="color: #FF0000;">
    {% with template_name=user.id|stringformat:"s"|add:".html" %}
         {% include "home/leftmenu_"|add:template_name %}
    {% endwith %}
</span>
...
Django 2.2.2.dev20190508124537 文档 ========================== Django 文档 你所需要知道的关于 Django 的一切。 获取帮助 遇到问题?我们可以帮你! 试试 FAQ —— 这里有很多常见问题的解答。 正在寻找特定的信息?试试 索引,模块索引 或者 详细内容目录。 在 django-users 邮件列表的档案库搜索,或者 post a question。 在 #django IRC channel 频道提问 在我们的 ticket tracker 报告关于 Django 的 Bug。 这份文档是如何组织的 Django 有丰富的文档。一份高度概述的文档会告诉你在哪里找到特定的东西: 教程 通过手把手地方式教你一步步的创建一个 Web 应用。如果你初学 Django 或编程,请从这里开始。也请看看下面的 "快速入门"。 专题指南 在相当高的层次上介绍关键主题和概念,并提供有用的背景信息和解释。 参考指南 包含 API 和 Django 各个工作机制方面的技术参考。它们介绍了 Django 是如何工作,如何被使用的。不过,你得先对关键字的概念有一定理解。 操作指南 是一份目录。它们以排列好的关键问题和用例的方式指导你。它们比教程更加深入,且需要你先了解一些关于 Django 是如何工作的知识。 快速入门 您是刚学 Django 或是初学编程? 这就是你开始学习的地方! 从零开始: 概要 | 安装 入门教程: 第1节: 请求和响应 | 第2节: 模型和 admin 站点 | 第3节: 视图和模板 | 第4节: 表单和通用视图 | 第5节: 测试 | 第6节: 静态文件 | 第7节: 自定义 admin 站点 进阶教程 : 如何编写可复用的应用 | 提交你的第一个 Django 补丁 模型层 Django 提供了一个抽象的模型 ("models") 层,为了构建和操纵你的Web应用的数据。阅读下面内容了解更多: 模型: 模型介绍 | 字段类型 | 索引 | Meta 选项 | Model 类 QuerySet: 执行查询 | QuerySet 方法参考 | 查询表达式 Model 实例: 实例方法 | 访问关联的对象 迁移: 迁移概述 | 操作参考 | SchemaEditor | 编写迁移 高级: 管理员 | 原始 SQL | 事务 | 聚合 | 搜索 | 自定义字段 | 多个数据库 | 自定义查询 | 查询表达式 | 条件表达式 | 数据库函数 其它: 支持的数据库 | 旧数据库 | 提供初始化数据 | 优化数据库访问 | PostgreSQL 的特定功能 视图Django 具有 “视图” 的概念,负责处理用户的请求并返回响应。通过以下链接查找所有你需要知道的有关视图的信息: 基础: URL配置 | 视图函数 | 便捷工具 | 装饰器 参考: 内置视图 | Request/response 对象 | TemplateResponse 对象 文件上传: 概览 | 文件对象 | 存储 API | 管理文件 | 自定义存储 基于类的视图: 概览 | 内置显示视图 | 内置编辑视图 | 使用混入 | API 参考 | 扁平化索引 高级: 生成 CSV | 生成 PDF 中间件: 概览 | 内建的中间件类 模板层 模板层提供了一个对设计者友好的语法用于渲染向用户呈现的信息。学习如何使用语法(面向设计者)以及如何扩展(面向程序员): 基础: 概述 对于设计者: 语法概述 | 内建标签及过滤器(filters) | 人性化 针对程序员: 模板 API | 自定义标签(tags)和过滤器(filters) 表单 Django 提供了一个丰富的框架来帮助创建表单和处理表单数据。 基础: 概览 | 表单 API | 内建字段 | 内建 widgets 进阶: 针对模型的表单 | 整合媒体 | 表单集 | 自定义验证 开发进程 学习众多的组件及工具,来帮助你开发和测试 Django 应用: 设置: 概览 | 完整的设置列表 应用程序: 概览 异常: 概览 django-admin.py 和 manage.py: 概览 | 添加自定义命令 测试: 介绍 | 书写并运行测试 | 包含的测试工具 | 高级主题 部署: 概览 | WSGI 服务器 | 部署静态文件 | 用 email 跟踪代码错误 管理 找到所有你想知道的,关于自动化管理界面的知识,Django 最受欢迎的特性之一: 管理站点 管理动作 管理文档生成器 安全 在 Web 应用的发展中,安全是最重要主题,Django 提供了多种保护手段和机制。 安全概览 在 Django 中披露的安全问题 点击劫持保护

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧