c'è un modo per ottenere gli stessi risultati dell'utilizzo di campi preassegnate nel sito di amministrazione di Django per i campi lumaca in un ModelForm standard didjango auto lumaca in forme modello come preassegnate-campi in Django Admin
6
A
risposta
9
Bene Django è aperto fonte, quindi se vuoi replicare un determinato comportamento, puoi scegliere read the code e scegliere quello che ti piace. Per esempio, si può vedere che contrib.admin utilizza uno script chiamato urlify.js per fare lo slugging dinamica, con l'utilizzo o meno così:
<script type="text/javascript" src="/admin-media/js/urlify.js"></script>
<script type="text/javascript">
document.getElementById("id_title").onkeyup = function() {
var e = document.getElementById("id_slug");
if (!e._changed) { e.value = URLify(document.getElementById("id_title").value, 50); }
}
</script>
... a seconda ovviamente dove il vostro supporto amministratore è servita da (miniera è da "/ admin-media /")
Oppure, se sei felice di eseguire la tua visualizzazione, puoi utilizzare la funzione utilizzata in django.template come filtro di slugifica: django.template.defaultfilters.slugify.
-1
<script type="text/javascript" src="/media/js/urlify.js"></script>
var slug = document.getElementById("id_slug").value;
document.getElementById("id_name").onkeyup = function() {
if (slug == '') {
document.getElementById("id_slug").value = URLify(document.getElementById("id_name").value, 50);
}
}
Per portare up-to-date: * Percorso per l'amministratore javascript è '/ static/admin/js/urlify.js' o nel modello con la statica template tag '{% static 'admin/js/urlify.js'%}' * 'URLify (s, num_chars, allowUnicode)' ora consente Unicode, quindi è necessario aggiungere 'true' /' false' al URLify chiamata di funzione. – Chad
Inoltre, sarà necessario includere uno script aggiuntivo '/ static/admin/js/vendor/xregexp/xregexp.min.js' – Chad