让它在我的本地机器上运行没有问题,但是当部署到 Heroku 时,flask-bootstrap 资产不会导入位于虚拟环境中的 base.html 文件。而且我在日志或控制台中找不到任何错误。
我还需要激活 Heroku 上的虚拟环境还是应该已经处理好?
这是我尝试导入 bootsrap 的 config.py 文件:
from flask import Flask
from flask_bootstrap import Bootstrap
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
Bootstrap(app)
db = SQLAlchemy(app)
app.config['SQLALCHEMY_DATABASE_URI'] = 'URI-is-changed-on-this-question-for-privacy-reasons'
app.config['SECRET_KEY'] = 'secret-key-is-changed-on-this-website-for-privacy reasons'
app.py 导入文件并激活服务器
from config import app
from flask import Flask
from models import authentication, posts
from views import authentication, posts
from forms import authentication, posts
if __name__ == '__main__':
app.run()
这是尝试扩展 boostrap base.html 的 html 文件
{% extends "bootstrap/base.html" %}
{% import "bootstrap/wtf.html" as wtf %}
{% block jumbotron %}
<div class="jumbotron">
<h2>Hunter Krieger</h2>
<h3>Blogger, Web Developer, Gamer and Bibliophile
</div>
{% endblock jumbotron %}
{% block content %}
{% if post %}
{% for display in post %}
<article class="well">
<h1><a href="/{{ display.slug }}">{{ display.title }}</a></h1>
<h4>Written by {{ display.author }}</h4>
<h4>{{ display.created_at.strftime('%b %d, %Y') }}</h4>
<div class="body">
{{ display.body | truncate(1250) | safe }}
</div>
</article>
{% endfor %}
{% else %}
<p>There are no posts</p>
{% endif %}
{% endblock %}
这是位于虚拟环境中路径“./venv/Lib/site-packages/flask_bootstrap/templates/bootstrap/base.html”的base.html文件
{% block doc -%}
<!DOCTYPE html>
<html{% block html_attribs %}{% endblock html_attribs %}>
{%- block html %}
<head>
{%- block head %}
<title>{% block title %}Welcome to hckrieger.com!{% endblock title %}</title>
{%- block metas %}
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{%- endblock metas %}
{% block favicon %}
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
{% endblock %}
{%- block styles %}
<!-- Bootstrap -->
<link href="{{bootstrap_find_resource('css/bootstrap.css', cdn='bootstrap')}}" rel="stylesheet">
<link href="{{ url_for('static', filename='css/stylesheet.css') }}" rel="stylesheet">
{%- endblock styles %}
{%- block fonts %}
<link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet">
{%- endblock fonts %}
{% block texteditor %}
<script src="//cdn.ckeditor.com/4.7.1/full/ckeditor.js"></script>
{%- endblock texteditor %}
{%- endblock head %}
</head>
<body{% block body_attribs %}{% endblock body_attribs %}>
{% block body -%}
{% block navbar %}
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<!--<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>-->
<a class="navbar-brand" href="{{ url_for('index') }}">hckrieger.com</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li><a href="{{ url_for('index') }}">Home</a></li>
<li><a href="{{ url_for('about') }}">About</a></li>
<li><a href="{{ url_for('contact') }}">Contact</a></li>
</ul>
</div>--><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
{%- endblock navbar %}
{% block jumbotron %}
{% endblock jumbotron %}
{% if admin %}
<div class="container">
<section class="content col-md-12">
{% block admin_content -%}
{%- endblock admin_content %}
</section>
</div>
{% else %}
<div class="container">
<section class="content col-md-9">
{% block content -%}
{%- endblock content %}
</section>
<section class="content col-md-3">
{% include 'sidebar.html' %}
</section>
</div>
{% endif %}
{% block footer %}
<p class="center">hckrieger.com © 2017</p>
{% endblock %}
{% block scripts %}
<script src="{{bootstrap_find_resource('jquery.js', cdn='jquery')}}"></script>
<script src="{{bootstrap_find_resource('js/bootstrap.js', cdn='bootstrap')}}"></script>
{%- endblock scripts %}
{%- endblock body %}
</body>
{%- endblock html %}
</html>
{% endblock doc -%}
从看到该代码有人知道我可以改变什么来让flask-bootstrap在Heroku上工作吗?