我正在嘗試使用 javascript 將 Django 模型傳遞到模板中。一旦我讓 javascript 讀取它并將其傳遞給模板,我似乎無法對 QuerySet 進行過濾或執行任何操作。
我的意見.py:
def displayDict(request):
m = ChatStream.objects.filter(name = visitor_ip_address(request))
last = m.latest('name')
return render(request, 'chatStream.html',
{"chat": m, "last": last})
我的模型.py:
class ChatStream(models.Model):
bot = models.TextField()
user = models.TextField()
name = models.CharField(max_length=100, null=True)
created_date = models.DateTimeField(auto_now_add=True)
我的 chatStream.html 檔案:
<p id="demo2">I will display when two seconds have passed.</p>
<script>
var data = "{{chat}}";
var lastEntry = "{{last}}"
}
setTimeout(myTimeout1, 2000)
function myTimeout2() {
document.getElementById("demo2").innerHTML = "2 seconds " data "lastEntry" lastEntry;
}
</script>
2秒后我得到的結果:
2 秒 <QuerySet [<ChatStream: ChatStream 物件 (31)>, <ChatStream: ChatStream 物件 (32)>]>lastEntryChatStream 物件 (31)
而不是顯示“<QuerySet [<ChatStream: ChatStream object (31)>....]” 我如何在名為 ChatStream 的模型中顯示文本?...
我試過了:
<p id="demo2">I will display when two seconds have passed.</p>
<script>
var data = "{{chat.user}}";
var lastEntry = "{{last.user}}"
}
setTimeout(myTimeout1, 2000)
function myTimeout2() {
document.getElementById("demo2").innerHTML = "2 seconds " data "lastEntry" lastEntry;
}
</script>
但上面什么都沒顯示。
我也試過
<p id="demo2">I will display when two seconds have passed.</p>
<script>
var data = "{{chat | last }}";
var lastEntry = "{{last}}"
}
setTimeout(myTimeout1, 2000)
function myTimeout2() {
document.getElementById("demo2").innerHTML = "2 seconds " data "lastEntry" lastEntry;
}
</script>
但是最后過濾會拋出一個錯誤,我不能負索引(并且我正在運行最新版本的 Django)。
非常感謝
uj5u.com熱心網友回復:
ChatStream.objects.filter(...)回傳一個QuerySet,它是ChatStream 模型的物件串列,而不是單個ChatStream 模型物件。
如果要檢索 ChatStream 模型的單個物件,請使用
m = ChatStream.objects.get(name=visitor_ip_address(request))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/364056.html
標籤:javascript Python html 姜戈
上一篇:為什么它顯示TypeError:UpdateContent()gotanunexpectedkeywordargument'instance'?
