在我的开发环境中,我一直在使用带有django-gear的Django,并且玩得很开心。我现在正准备部署并设置为使用 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中的路径符合预期,并指向资产和静态目录所在的目录。
任何帮助都将不胜感激。