Meine Website hat eine Sidebar, die auf allen Seiten gleich ist. Um zu vermeiden, das HTML für die Seitenleiste für jede Seite kopieren und einfügen Ich schrieb einige Javascript als diese Antwort vorgeschlagen: How can I make my navi-bar the same across my html?Wie eine Django-Variable von HTML-Seite an Javascript übergeben wird
Ich bin glücklich mit diesen Ergebnissen mit Ausnahme einer Sache, zeigt meine Sidebar Dinge wie der Name des Benutzers, die Ich greife mit {{ request.user.get_full_name }}
, aber das funktioniert nicht, wenn ich das in meine sidebar.js
. So dachte ich, eine gute Arbeit wäre, um eine var user={{request.user.get_full_name}}
in der <script>
Tags in meiner HTML-Datei und dann <h3>user</h3>
in meinem js, aber ich bin mir nicht sicher, wie das zu tun.
Das ist meine sidebar.js
document.getElementById("navMenu").innerHTML =
'<a href="/profile/" style="text-decoration: none; color: white;"><div id="circle"><span class="glyphicon glyphicon-user"></span></div><h3>Your Name</h3></a>'+
'<ul class="nav nav-pills nav-stacked" style="text-align: left;">'+
'<li><a href="/userhome/"><i class="fa fa-home fa-fw" aria-hidden="true"></i> Home</a></li>'+
'<li><a href="/profile/"><i class="fa fa-user fa-fw" aria-hidden="true"></i> Profile</a></li>'+
'<li><a href="#"><i class="fa fa-envelope fa-fw" aria-hidden="true"></i> Messages</a></li>'+
'<li><a href="/boards/"><i class="fa fa-users fa-fw" aria-hidden="true"></i> Boards</a></li>'+
'<li><a href="#"><i class="fa fa-newspaper-o fa-fw" aria-hidden="true"></i> Feed</a></li>'+
'<li><a href="#"><i class="fa fa-globe fa-fw" aria-hidden="true"></i> Notifications</a></li>'+
'<li><a href="#"><label for="logout" style="font-size: 15px; font-weight: inherit;"><i class="fa fa-lock fa-fw" aria-hidden="true"></i> Logout</label></a></li>'+
'</ul>';
So in der zweiten Zeile, wo es <h3>Your Name</h3>
hat ich, dass der Benutzer variabel sein will. Und das ist, wie ich versuche, die Variable in meiner HTML-Seite zu übergeben:
<div id="sidebar">
<nav id="navMenu"></nav>
<script src="{% static 'app/js/sidebar.js' %}">var user={{request.user.get_full_name}}</script>
<!-- logout button/form -->
<form action="/" method="post">
{% csrf_token %}
<input class="hidden" id="logout" type="submit" value="Logout"/>
</form>
</div>
Ich möchte mit PHP vermeiden. Die Quintessenz ist, kann ich Django wie das innerhalb der <script>
Tags verwenden und wenn ja, wie verwende ich dann diese Variable in meinem Javascript?
Dank, die Ur- arbeitete landete ich mit Ihrer zweiten Methode zu gehen und es als eine Funktion schreiben – Catherine