私が取り組んでいるプロジェクトはRGBFieldを使用しています。これはテンプレートにこのスクリプトを挿入しています(これはどこのdjangoの奥深くです)。jQueryがDjangoのRGBFieldで見つかりません
<script type="text/javascript">
(function($){
$(document).ready(function(){
$('#id_color').each(function(i, elm){
// Make sure html5 color element is not replaced
if (elm.type != 'color') $(elm).colorPicker({"colors": ["f1c40f", "2ecc71", "9b59b6", "e74c3c", "34495e", "3498db", "1abc9c", "f39c12", "d35400"]});
});
});
})('django' in window && django.jQuery ? django.jQuery: jQuery);
</script>
コンソールでエラーが発生しました:Uncaught ReferenceError: jQuery is not defined
エラーがどこで発生しているかを調べることができませんが、RGBFieldを削除すると問題が解決します。
プロジェクトでJqueryが使用されています。テンプレート自体にjQueryを使用すると、テンプレート自体に問題はありません。
私はプロジェクトにdjango-jqueryを追加し、テンプレートの先頭に{% load staticfiles %}
を追加しました。問題を解決しません。
私はすべてを楽しく無視していましたが、今はこのページでサイプレステストを書く必要があります。そのエラーはテストをブロックしています。
サイプレスでこのエラーを無視する方法はありますか?あるいは、最初にエラーが発生するのを防ぐ方法がありますか? RGBFieldにjqueryのチェックをオフにするフラグがありますか?
'django' in window
を実行すると、false
が生成され、django.jQuery
を実行するとエラーが発生します。 'django' in window && django.jQuery
を実行するとfalse
が生成されるので、理論上は2番目のオプションを取る必要があります。これはコンソールで実行したときには問題ありませんが、明らかに何かが不足しています。
EDIT:インストールされたアプリの
一覧:
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.humanize',
'whitenoise.runserver_nostatic',
'storages',
'django.contrib.staticfiles',
'django.contrib.flatpages',
'jquery',
'django.contrib.sites',
'django_activeurl',
'webpack_loader',
'widget_tweaks',
'argonauts',
'rest_framework',
'main',
'django.jQuery'を実行しているときのエラーが' django not defined'であり、 'jQuery not defined'ではないことに気付きました。したがって、これは、スクリプトがテンプレートに書き込まれた後にjqueryがロードされる問題であると考えられます。 –
Djangoのどのバージョンとそれらのパッケージを使用していますか?私はdjango-rgbfieldが2016年5月から更新されていないことに気付きました。 '' django 'in windowの存在の確認は信頼できません。特にCypressのような自動化されたテストツールの下では。 –
Djangoはバージョン2.0、django.jQueryは3.1.0です。 –