我一直在我的开发环境中使用 Django 和 django-gears,并且玩得很开心。我现在正在准备部署并设置使用uWSGI(而不是manage.py runserver)。这样做破坏了一些东西,资产路径的解析现在被破坏了。GEARS_DIRS配置变量似乎没有生效。我是一个相对较新的 Gears 用户,现在花了好几个小时来调试这个问题。
我的设置是:BASE_DIR = os.path.dirname(os.path.dirname( file ))
GEARS_DIRS = (
os.path.join(BASE_DIR, "assets"),
os.path.join(BASE_DIR, "static"),
)
我收到一个错误:
u'./assets' is not an absolute path.
在模板中呈现以下内容时:
{% load gears %}
{% load url from future %}
{% load i18n %}
{% css_asset_tag "stylesheets/application.css" %}
{% js_asset_tag "javascripts/application.js" %}
突出显示css_asset_tag行。我尝试了另一种选择:
SITE_ROOT = os.path.realpath(os.path.dirname(__file__))
GEARS_DIRS = (
os.path.join(SITE_ROOT, "assets"),
os.path.join(SITE_ROOT, "static"),
)
这导致
u'./<app_name>/assets' is not an absolute path.
通过调试,我可以看到 SITE_ROOT 和 BASE_DIR 中的路径符合预期,并指向资产和静态目录所在的目录。
任何帮助,将不胜感激。