2

我一直在我的开发环境中使用 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 中的路径符合预期,并指向资产和静态目录所在的目录。

任何帮助,将不胜感激。

4

0 回答 0