variable template peticiones form examples ejemplo django autocomplete django-ajax-selects

template - django-ajax-selecciona el uso del ejemplo



django templates examples (2)

¿Alguien puede publicar el ejemplo más simple posible para django-ajax-selects ? Solo un modelo con un campo y un formulario que se puede usar para seleccionar instancias de este modelo basadas en ese campo (no en el administrador sino en un formulario de usuario).

Intenté leer la documentación del proyecto, pero me resultó muy difícil de entender ... Además, no pude hacer que la aplicación de ejemplo funcionara (¿no podría saber qué es una etiqueta?) :(

Además, si crees que hay una solución más fácil que django-ajax-selects, dímelo.

¡Gracias!


Para comenzar, debe consultar la guía de instalación rápida .

Una etiqueta en esta documentación es un ejemplo de modelo, al igual que podría ser Car, Widget, cualquier modelo que tenga y desee.


Aquí hay un ejemplo simple (del ejemplo en github pero no probado):

models.py:

class Person(models.Model): name = models.CharField(blank=True, max_length=100) email = models.EmailField() def __unicode__(self): return self.name class Group(models.Model): name = models.CharField(max_length=200,unique=True) members = models.ManyToManyField(Person,blank=True,help_text="Enter text to search for and add each member of the group.") def __unicode__(self): return self.name

forms.py:

class GroupForm(ModelForm): class Meta: model = Group members = make_ajax_field(Release,''members'',''person'')

lookups.py:

class PersonLookup(LookupChannel): model = Person def get_query(self,q,request): return Person.objects.filter(name__icontains=q).order_by(''name'') def get_result(self,obj): return obj.name def format_match(self,obj): return self.format_item_display(obj) def format_item_display(self,obj): return u"%s" % escape(obj.name)

settings.py:

AJAX_LOOKUP_CHANNELS = { ''person'' : (''example.lookups'', ''PersonLookup''), }

views.py:

class Create(generic.CreateView): template_name = "create.html" form_class = GroupForm success_url = ''create'' create = Create.as_view()

urls.py:

urlpatterns = patterns('''', url(r''^create'', view=''views.create'',name=''create''), url(r''^ajax_lookup/(?P<channel>[-/w]+)$'', ''ajax_select.views.ajax_lookup'', name = ''ajax_lookup''), )