DjangoサイトでjQueryを使用しようとしています。jQuery.jsライブラリを含める必要があります。私はDjango静的ファイルについてたくさん読んだことがありますが、この特定の質問をした人はいないと思います。提供する静的ファイルは、jquery.js、anothersmallfile.js、styles.cssの3つだけです。静的ファイルサービングに関するDjangoのドキュメントは次のように述べています。
「小規模なプロジェクトの場合、これは大したことではありません。Webサーバーが見つけられる場所に静的ファイルを保持できるからです。リンク
Djangoのドキュメントでは、静的ファイルの提供方法は開発環境専用であると明確に述べられているため、「Webサーバーが見つけられる場所に置いておく」ことをお勧めします。静的ファイルは数個しかないので、最も単純で安全なソリューションが必要です。
残念ながら、動作させることができません。ファイルをどこに置いても、Djangoはそれらを見つけることができません。Chrome Web開発者コンソールを介してデバッグすると、404エラーが発生することがわかります。
GET http://127.0.0.1:8000/templates/polls/jquery.js 404 (NOT FOUND)
サーバーを実行するのは初めてです。A.)静的ファイルの場所をurls.pyファイルに指示する必要がありますか?または、おそらく問題はBです。)私はこの問題を誤解しています-Djangoは私のWebサーバー(本番用)なので、今はDjango静的ファイルソリューションを使用する必要がありますか?
テンプレートに、同じディレクトリにある.jsファイルを単純に認識させるのはそれほど難しいことではないようです。私は何かが足りないのですか?
編集、反対票を増やす前に:上にリンクされているページからこの一節について話している:
///////////////////////
Django開発者は主に、Webアプリケーションの動的な部分、つまりリクエストごとに新しくレンダリングされるビューとテンプレートに関心を持っています。ただし、Webアプリケーションには他の部分があります。完全なWebページをレンダリングするために必要な静的ファイル(画像、CSS、Javascriptなど)です。
小さなプロジェクトの場合、これは大したことではありません。Webサーバーが見つけられる場所に静的ファイルを保持できるからです。ただし、大規模なプロジェクト(特に複数のアプリで構成されるプロジェクト)では、各アプリケーションによって提供される静的ファイルの複数のセットを処理するのが難しくなり始めます。
それがdjango.contrib.staticfilesの目的です。各アプリケーション(および指定したその他の場所)から静的ファイルを収集して、本番環境で簡単に提供できる単一の場所に配置します。
///////////////////強調を追加
それがdjango.contrib.staticfilesの目的である場合、より簡単な解決策は何ですか?私はこれが以前の質問の繰り返しであることに異議を唱えます。