尝试加载' bootstrap3.templatetags.bootstrap3'时引发的ImportError:无法导入名称' flatatt'

时间:2018-02-26 11:42:47

标签: django heroku django-bootstrap3

我创建了一个使用django的项目,并将其上传到heroku。

它可以在本地环境中成功运行,功能也可以正常运行。我成功上传没有任何问题,但是当我在heroku(https://APP_NAME.herokuapp.com/)中访问它时,它有一些这样的问题:

InvalidTemplateLibrary at /

Invalid template library specified. ImportError raised when trying to load 'bootstrap3.templatetags.bootstrap3': cannot import name 'flatatt'

Request Method:
GET
Request URL:
https://APP_NAME.herokuapp.com/
Django Version:
2.0.2
Exception Type:
InvalidTemplateLibrary
Exception Value:
Invalid template library specified. ImportError raised when trying to load 'bootstrap3.templatetags.bootstrap3': cannot import name 'flatatt'
Exception Location:
/app/.heroku/python/lib/python3.6/site-packages/django/template/backends/django.py in get_package_libraries, line 125
Python Executable:
/app/.heroku/python/bin/python
Python Version:
3.6.4
Python Path:
['/app',
 '/app/.heroku/python/bin',
 '/app',
 '/app/.heroku/python/lib/python36.zip',
 '/app/.heroku/python/lib/python3.6',
 '/app/.heroku/python/lib/python3.6/lib-dynload',
 '/app/.heroku/python/lib/python3.6/site-packages']
Server time:
Sun, 25 Feb 2018 02:19:09 +0000

我尝试使用django-bootstrap4,但它也存在django-bootstrap3的部署问题。

我该怎么办?

非常感谢。

更新

  • requirements.txt

    pip freeze> requirements.txt

requirements.txt内容如下:

dj-database-url==0.4.2
Blockquote
django==2.0.2
-e git+https://git.heroku.com/APP_NAME.git@cbb5b522d**SECRET**710#egg=django_bootstrap3
gunicorn==19.7.1
psycopg2-binary==2.7.4
pytz==2017.3
whitenoise==3.3.1

注意: 那是原始文件。我将第4行修改为某个版本,如django-bootstrap3==6.2.2

  • bootstrap3设置

我虚拟环境中要引用的一些设置:

ll_env/Lib/site-packages/bootstrap3/bootstrap.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from importlib import import_module
...

ll_env/Lib/site-packages/bootstrap3/utils.py

from django.forms.utils import flatatt
from django.template import Variable, VariableDoesNotExist
from django.template.base import FilterExpression, kwarg_re, TemplateSyntaxError
from django.template.loader import get_template
...

1 个答案:

答案 0 :(得分:0)

解决。

  1. return (double)(App.ScreenWidth - 30 - 3 * IconWidthAndHeight) / 6; 成为空文件;
  2. 拉到heroku:requestments.txt;
  3. 填写git push heroku master文件,内容如下:

    requestments.txt
  4. 再次推送到heroku:dj-database-url==0.4.2 django==2.0.2 django-bootstrap3 gunicorn==19.7.1 psycopg2-binary==2.7.4 pytz==2017.3 whitenoise==3.3.1