首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jinja2模板-扩展2级

Jinja2模板-扩展2级
EN

Stack Overflow用户
提问于 2014-07-08 14:39:30
回答 1查看 119关注 0票数 0

我有一个具有blovk内容并由manage.html扩展的manage.html文件。manage.html有一个由internet_market.html扩展的块sub_manage,因此在视觉上看起来如下:

代码语言:javascript
复制
|- base.html (block content)
|--manage.html (extends base.html)
|---sub_manage.html (extends manage.html)

当我render_template mange.html时,一切都很好,但是当我尝试render_template sub_manage.html时,css/javascript就不起作用了。我能做些什么来克服这个问题?

这是我的base.html

代码语言:javascript
复制
<head>  
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="../static/css/bootstrap.min.css">
<script type="text/javascript" src="../static/js/bootstrap.min.js"></script>
<style type="text/css">
</head>
<body>
    <div id="left_sidebar">
        <ul>
            <li class="main"><a href="{{ url_for('cabinet.index', current = 'main') }}"> + Главная</a></li>
            <li class="main"><a href="{{ url_for('cabinet.orders') }}">Заказы</a></li>
            <li class="main"><a href="{{ url_for('cabinet.manage') }}"> - Управление сайтом</a></li>
        </ul>
    </div>
    <div id="content">
        {% block content %}{% endblock %}
    </div>
</body>

这是我的manage.html文件:

代码语言:javascript
复制
{% extends "admin/base.html" %}
{% block content %} 
    <!-- Nav tabs -->
    <div>
        <ul class="nav nav-tabs" role="tablist">
            <li class="dropdown active"></li>
        </ul>
    </div>
    <!-- Tab panes -->
    <div class="manage_menu_settings">
        {% include 'admin/manage/site_figuraiton.html' %}
    </div>

    {% block sub_manage%}
    {% endblock %}

{% endblock %}

这是internet_market.html

代码语言:javascript
复制
{% extends "admin/manage.html" %}
{% block sub_manage %}  
    <div class="tab-content">
        <div class="tab-pane {% if current == 'delivery_settings' %} active{% endif %}" id="delivery_settings">
            Настройки доставки, корзины и оплаты
        </div>
        <div class="tab-pane {% if current == 'delivery_type' %} active{% endif %}" id="delivery_type">
            Добавить способы доставки
        </div>
{% endblock%}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-08 15:22:00

解决了这个问题。问题是我在css和js文件中使用了相对链接,因此在尝试呈现2级扩展时,没有找到css/js。所以就像:

代码语言:javascript
复制
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="../static/css/bootstrap.min.css">
<script type="text/javascript" src="../static/js/bootstrap.min.js"></script>
<style type="text/css">

但是后来我用url_for将这些链接更改为动态链接,它的工作原理如下:

代码语言:javascript
复制
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="{{url_for("static", filename = "css/bootstrap.min.css")}}">
<script type="text/javascript" src="{{url_for("static", filename = "js/bootstrap.min.js")}}"></script>
<style type="text/css">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24634701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档