Kurze Antwort ist nein. Aber man dies umgehen können, gibt es zwei Ansätze, die ich denken kann:
- fügen Sie ein Skript mit den URLs, die Sie in Ihrer Basis HTML-Vorlage benötigen, müssen sie global verfügbar sein, so dass Sie sie mit anderen Skripten zugreifen können
- machen ein Skript eine JS-Datei mit allen URLs zu erzeugen, und legen sie es mit allen anderen Static (django translations for js einen ähnlichen Ansatz verwenden)
Ansatz 1, so etwas wie wäre:
<html>
...
<script>
var myApp = {
URLS: {
login: {% url 'login' %},
welcome: {% url 'welcome' %},
...
}
}
</script>
<script>console.log("The login url is " + myApp.URLS.login + "!")</script>
<script src="script/that/uses/urls.js"></script>
...
</html>
Statische Dateien werden nicht von django bedient, also nein. Ist es für js Dateien? – danielcorreia
@danielcorreia Ja. Sie sind JS. Ich meinte etwas, das laufen würde, wenn ich 'python manage.py collectstatic' verwende (ich plane nicht, die URLs häufiger zu ändern, dann ändere ich die JS). –