Quelqu'un peut-il me dire comment utiliser l'autocomplétion de balises dans les modèles django ?
J'ai fait cela dans l'interface d'administration de Django mais je ne sais pas comment le faire dans le modèle.
Merci d'avance
Quelqu'un peut-il me dire comment utiliser l'autocomplétion de balises dans les modèles django ?
J'ai fait cela dans l'interface d'administration de Django mais je ne sais pas comment le faire dans le modèle.
Merci d'avance
Dans mon modèle, j'ai ce code :
$(document).ready(function(){
$("#tags1").autocomplete("/taglookup/", {
width: 320,
multiple: true,
multipleSeparator: " "
});
}
et sur mon url.py j'ai ceci sur le tuple urlparttern, cela peut être n'importe quoi selon la façon dont vous voulez relier vos vues et vos urls !
(r'^taglookup/$', 'twine.twineapp.views.tag_lookup')
et dans mon views.py, la vue tag_lookup est implémentée comme suit :
def tag_lookup(request):
# Default return list
results = []
if request.method == "GET":
if request.GET.has_key(u'q'):
value = request.GET[u'q']
# Ignore queries shorter than length 2
if len(value) > 2:
TI = Tag.objects.filter(name__startswith=value.lower())
results = [ x.name for x in TI]
return HttpResponse('\n'.join(results), mimetype='text/plain')
PS : J'utilise le Étiquetage C'est pourquoi j'ai l'objet Tag dans le code ci-dessus.
Vous pourriez utiliser mon application réutilisable django-tagging-autocomplete et tirez parti du widget de formulaire TagAutocomplete fourni. Vous pouvez en savoir plus sur l'utilisation du widget dans la documentation sous la rubrique "Utilisation du widget de formulaire".
Veuillez noter que l'application exige que vous utilisiez django-tagging pour vos balises. Vous devez également mettre {{ form.media }}
(où "form" est le nom de votre formulaire) dans le champ <head>
dans votre modèle, pour permettre au widget d'inclure ses fichiers JavaScript.
Ceci provient d'un modèle où j'ai implémenté l'autocomplétion.
$(document).ready(function() {
$("#searchbox").autocomplete('/search_stuff/', {
width: 300,
multiple: false,
matchContains: true,
delay: 900,
extraParams: {
s: function() { return $("#status").val(); }
}
});
Où search_stuff renvoie une liste textuelle de tous les éléments qui correspondent aux critères. Cela vous aide-t-il ?
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.