問題タブ [collectstatic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
310 参照

django - python manage.py collectstatic が間違った (ローカル) 設定を読み込んでいます

環境に応じて異なる設定をロードするために、cookiecutter-django .env デザインを使用しています。ローカルで実行するには、「local.py」設定を使用し、aws elatic Beanstalk で wunning を使用する必要があります。「dev.py」をロードする必要があります。どちらも「common.py」からインポートします。

dev 設定を使用して AES でサーバーを実行すると機能しますが、collectstatic は失敗します。これは、dev 設定ではなくローカル設定をインポートしようとするためです。

EC2 インスタンスはどのようにして collectstatic を実行し、(適切な) dev.py 設定をロードできますか?

0 投票する
1 に答える
497 参照

django - Django TestCases でテンプレートをレンダリング中に staticfiles マニフェスト エントリが見つからない

TestCase生成された HTML の一部をテストするために、ページのテンプレートをレンダリングしている s の実行で問題が発生しています。

私が実行している種類のテストの例を次に示します。

test.py

要件.txt

設定.py

問題は、サイトの最近の再設計でdjango-materialbase.htmlの使用をサポートするためにファイルに追加したコードにあります。以下の 3 行は、ドキュメントから直接コピーしたものです。<head>django-material

base.html

参考までに、これらのファイルへのリンクを次に示します。

ただし、これらの行は私のテストを破るものです。次の 2 つのエラーが発生します。

  • WARNING Exception raised while rendering {% include %} ... ValueError: Missing staticfiles manifest entry for 'material/fonts/material-design-icons/material-icons.css'==> これが material_css.html の最初の呼び出しです。
  • ValueError: Missing staticfiles manifest entry for 'material/js/jquery.js' ==> これは、django-material ドキュメントに固有の base.html の 2 行目です。

私が作成した他の静的ファイル(上に貼り付けたトリミングされたbase.htmlから除外したエントリ)またはdjango-material. 実際、詳しく調べてみると、これらの 3 行を削除すると、その後の 'static' の呼び出しで中断されます (この例でも簡単にするために省略しています)。

さて、この StackOverflow questionのアドバイスに従って、collectstaticローカルで実行すると、この問題は解決されます。ただし、コードをデプロイしてリモートでテストを実行すると、そこで実行する方法がわかりませんcollectstatic。テストの基本クラスをStaticLiveServerTestCaseに変更しようとしましたが、違いはありませんでした。Nose のドキュメントから、テスト クラスでルーチンを作成できることもわかりますが、このようなテストをコード全体の多くのテスト クラスで実行することを考えると、複数回setUp()実行することは避けたいと考えています。collectstatic

何か案は?

ありがとう!