Dajaxiceに問題があり、ajaxに使用するカスタムjavascriptファイルを作成する方法に問題があります。manage.py collectstatic
Dajaxiceをインストールして実行すると、カスタムjavascriptファイルが作成されます。この投稿は、この問題も参照しています。私の場合、実行中:
python manage.py findstatic dajaxice/dajaxice.core.js
与える:
Found 'dajaxice/dajaxice.core.js' here:
/private/var/folders/dp/yw0xd2f52yg7qmt992s72_9r0000gn/T/tmpRWRAGT
ローカルで実行する場合。私が抱えている問題は、これをdjango-storagesと組み合わせて起動し、Amazon S3から静的ファイルを提供する場合、そのファイルが相対パスではなく絶対パスを参照して作成されるために爆発することです(実装されていないのはbotoだと思います) django-storagesが気に入らないもの)。エラーは次のようになります。
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv
self.execute(*args, **options.__dict__)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute
output = self.handle(*args, **options)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 371, in handle
return self.handle_noargs(**options)
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 163, in handle_noargs
collected = self.collect()
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 113, in collect
handler(path, prefixed_path, storage)
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 290, in copy_file
source_path = source_storage.path(path)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/files/storage.py", line 82, in path
raise NotImplementedError("This backend doesn't support absolute paths.")
(この場合、Herokuにデプロイしているため、作成したファイルを静的な場所に手動でコピーして参照することはできません)。これを回避する方法はありますか?Dajaxiceに生成されたファイルを相対パスの場所に配置させることはできますか?または、django-storages / botoに絶対パスを受け入れるように強制することで回避できますか?または、他のすべてが失敗した場合、collectstatic時にすべてのS3依存関係をアンインストールしてファイルをコピーし、Dajaxに生成されたファイルの検索を停止させる以外に、ファイルを事前生成する簡単な方法はありますか?
助けていただければ幸いです。