0

Dajaxiceに問題があり、ajaxに使用するカスタムjavascriptファイルを作成する方法に問題があります。manage.py collectstaticDajaxiceをインストールして実行すると、カスタム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に生成されたファイルの検索を停止させる以外に、ファイルを事前生成する簡単な方法はありますか?

助けていただければ幸いです。

4

1 に答える 1

0

私はこの問題を解決しました。 https://github.com/jorgebastida/django-dajaxice/issues/66を参照してください。

python manager.py collectstatic

于 2013-04-13T09:23:25.713 に答える