Integration von web3 und Django

Ich versuche, web3 in eine Website zu integrieren, die Django verwendet.

Dieser Codeausschnitt funktioniert nicht

  <script type="text/javascript">
      document.getElementById("Mining").innerText = "Test";
      var Web3 = require('web3');
      var web3 = new Web3();
      web3.setProvider(new web3.providers.HttpProvider("http://146.169.45.149:9002"));
      var mining = web3.eth.mining;
  </script>
</body>

Wenn ich die Linie document.getElementById("Mining").innerText = "Test";unter platziere var web3 = require('web3');, funktioniert sie nicht mehr, also vermute ich, dass das Problem dort liegen sollte.

Ich habe beide Skripte für web3 eingebunden

<!-- web3 scripts -->
<script type = "text/javascript" src="/static/poll/web3-light.js"></script>
<script type = "text/javascript" src="/static/poll/bignumber.js"></script>

Vielen Dank.

Antworten (1)

Dies ist schwer zu debuggen, ohne Ihren tatsächlichen Code zu sehen. Wenn es auf die Anforderungszeile fällt, kann es höchstwahrscheinlich die web3-Javascript-Datei nicht laden oder sie laden, nachdem Sie Ihr Skript platziert haben. Schauen Sie in der Entwicklerkonsole Ihres Browsers nach, ob er Ihnen etwas sagt und ob er die Netzwerkanfragen für die JavaScript-Dateien stellt und ob sie gefunden werden. Django könnte sie von dort aus bedienen, aber nur, wenn Sie den statischen Pfad korrekt eingestellt und die Dateien tatsächlich dort abgelegt haben.

Ich habe in der Entwicklerkonsole nachgesehen, aber es werden beide web3-Dateien gefunden, das sollte also nicht das Problem sein. Was sonst könnte dazu führen, dass die require-Anweisung fehlschlägt?
Bekommst du überhaupt keine Fehler gemeldet?
Ich denke, Sie möchten bignumber vor web3-light.js, aber Sie sollten Fehler gemeldet bekommen.
Ich habe sie getauscht und jetzt scheint es zu funktionieren. Und Sie hatten auch Recht, es gab Fehler in der Entwicklerkonsole, aber ich habe sie nicht gesehen. Vielen Dank!