問題タブ [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.
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 設定をロードできますか?
django - Django TestCases でテンプレートをレンダリング中に staticfiles マニフェスト エントリが見つからない
TestCase
生成された HTML の一部をテストするために、ページのテンプレートをレンダリングしている s の実行で問題が発生しています。
私が実行している種類のテストの例を次に示します。
test.py
要件.txt
設定.py
問題は、サイトの最近の再設計でdjango-materialbase.html
の使用をサポートするためにファイルに追加したコードにあります。以下の 3 行は、ドキュメントから直接コピーしたものです。<head>
django-material
base.html
参考までに、これらのファイルへのリンクを次に示します。
- https://github.com/viewflow/django-material/blob/master/material/templates/material/includes/material_css.html
- https://github.com/viewflow/django-material/tree/master/material/static/material/js
- https://github.com/viewflow/django-material/blob/master/material/templates/material/includes/material_js.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から除外したエントリ)または 実際、詳しく調べてみると、これらの 3 行を削除すると、その後の 'static' の呼び出しで中断されます (この例でも簡単にするために省略しています)。django-material
.
さて、この StackOverflow questionのアドバイスに従って、collectstatic
ローカルで実行すると、この問題は解決されます。ただし、コードをデプロイしてリモートでテストを実行すると、そこで実行する方法がわかりませんcollectstatic
。テストの基本クラスをStaticLiveServerTestCaseに変更しようとしましたが、違いはありませんでした。Nose のドキュメントから、テスト クラスでルーチンを作成できることもわかりますが、このようなテストをコード全体の多くのテスト クラスで実行することを考えると、複数回setUp()
実行することは避けたいと考えています。collectstatic
何か案は?
ありがとう!