如何在小冊子彈出窗口中創建csrf標記,以便用戶可以通過與表單交互來將一些文本發佈到數據庫?我已將{% csrf_token %}
標記添加到一個簡單的html表單,該表單工作正常,但當我將它放入彈出窗口的內容部分時,它不起作用,但其他html元素仍可正常工作。如何在小冊子彈出窗口中以html形式創建csrf標記?
map.on('click', function(e) {
var popupContent = '<p>What would you like to post to this location? <form action="/post_temp/" method="post"> {% csrf_token %} <p> <input type="text" name="post"> </p> <input type="submit" value="Post"> </form>',
popup = new L.Popup();
popup.setLatLng(e.latlng);
popup.setContent(popupContent);
map.openPopup(popup);
});
基本上,當我離開令牌時,Leaflet映射不會完全加載,但是如果我將其忽略,則會收到CSRF令牌丟失或不正確的錯誤。
我對所有這些(javascript/leaflet/web dev/django)有點新,所以我不確定問題來自哪裏或者我應該從哪裏開始?我想我將不得不圍繞leaflet.js代碼進行探討,但我不確定我能夠理解它。任何建議,明確要去或一些代碼,我可以插入,或者只是爲什麼(在外行的條款)代碼是不是很讚賞!
我很可能在這裏錯了,因爲在診斷問題上沒有足夠的空間,但我懷疑您的JavaScript文件實際上並不是由Django模板系統生成的,因此您放入的標籤不會做有用的事情。 – 2012-08-16 21:34:38