[英]using django variable in JavaScript
我的模特:
class Category(models.Model):
category_name=models.CharField(max_length = 100)
def __str__(self):
return self.Category_name
class Song(models.Model):
category= models.ForeignKey(Category, on_delete=models.CASCADE)
pass
<body> {% load static %} <link rel="stylesheet" type="text/css" href="{% static 'home/index.css' %}" /> <script type="text/javascript"> function printSong(x){ var all = {{x.song_set.all}}; document.getElementById("main"); var them = [{% for song in all %}{{song.song_name}}{% endfor %}]; main.innerHTML = them; } </script> <header> <h2 id="NSM" title="Nigeria Sheet Music">NSM</h2> <p id="welcome"> Welcome {{user.username}}</p> <div class="scrollmenu"> {% for song in all_category %} <a href="# " id="{{song.category_name}}" onclick="printSong('{{ song.category_name }}')">{{song.category_name}}</a> {% endfor %} </div> </header> <div id="left"> <p>playing</p> </div> <div id="right"> <p id="songHeading"> Your Songs <p id="add"><a href="{% url 'home:song-add' %}">add song</a></p> </p> {% for song in user.song_set.all %} <div class="songBack"> <a href="{% url 'home:detail' song.id %}"> {{song.song_name}} </li> <a href="#"> edit</a> <a href="#"> delete</a> </div> {% endfor %} </div> </body>
我想知道如何在JavaScript文件中包含django
變量。 我創建了兩個模型Category和song,我用外鍵將歌曲鏈接到category。 我試圖用JavaScript編寫代碼,以便當選擇類別時,將顯示該類別中的所有歌曲
如果可以通過json顯示歌曲,則可以使用Ajax。 有點像這樣(我在看到您的代碼之前就將它們放在一起,因此模型名稱等有所不同,但作為示例):
function getSongs(category) {
$.ajax({
url : "songs/", // links to a django view to get the songs
type : "POST",
data : { id }, // you could take the category id from the template eg {{ category.id }}
dataType : 'json',
success : function(songs) {
// an example of getting song titles
for (i = 0; i < songs.length; i++) {
song = songs[i]
title = song.title
// do something with the title here
}
}
})
}
並在“歌曲”上查看
from django.http import JsonResponse
from models import Category
def songs(request):
if request.method == 'POST':
category_id = request.POST.get('id')
category = Category.objects.get(id=category_id)
songs = category.songs.all()
jsonSongs = []
for song in songs:
jsonSong = {}
jsonSong["title"] = song.title
// title used here just to show how you might access aspects of the song model
jsonSongs.append(jsonSong)
return JsonResponse(songs, safe=False)
從這里您可以訪問作為json對象的歌曲列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.