擅长:python、mysql、java
<p>主要处理的是客户端标记和客户端javascript。如果是这样的话,使用一个专门处理这些问题的设施似乎是正确的选择。我还建议制作一个自定义管理小部件。我自己也用过这种模式。根据客户端标记的大小,您甚至可以使用Django模板来呈现小部件。</p>
<p>作为替代方案,您可以编写非侵入式javascript,以便在页面加载后重新呈现该页面区域。在这个方法中,您可以简单地在管理模型中包含带有<code>class Media:</code>的javascript媒体文件。</p>
<p>这更像是伪代码,但它给出了一个想法:</p>
<p><strong>管理py</strong></p>
<pre><code>class AppointmentAdmin(admin.ModelAdmin):
# ...
class Media:
from django.conf import settings
media_url = getattr(settings, 'MEDIA_URL', '/media')
js = [ media_url+'/admin/long-lat-render.js', ]
</code></pre>
<p><strong>长lat render.js</strong></p>
<pre><code>// Written for jQuery
$(function(){
// on page load...
$('#_LongitudeTag').html('');
var getCoordButton = $('<button id="get-coords"></button>');
$('#_LongitudeTag').append(getCoordButton);
addGMap($('#_LongitudeTag').get(0));
});
function addGMap(element) {
// do whatevers
}
</code></pre>