2015-11-10 6 views

Antwort

7

Guter Ort zum Starten ist django-select2, sie haben eine gute Arbeit example auch.

Hier herauszufinden, ich nur die Hauptidee im Zusammenhang mit ihrem Beispiel

Modell

@python_2_unicode_compatible 
class Album(models.Model): 
    title = models.CharField(max_length=255) 
    artist = models.ForeignKey(Artist) 
    featured_artists = models.ManyToManyField(Artist, blank=True, related_name='featured_album_set') 
    primary_genre = models.ForeignKey(Genre, blank=True, null=True, related_name='primary_album_set') 
    genres = models.ManyToManyField(Genre) 

    def __str__(self): 
     return self.title 

Die Felder, was ist, wird die select2 hier mit ManyToMany Beziehungstyp präsentiert abgebildet werden.

Form

class AlbumSelect2WidgetForm(forms.ModelForm): 
    class Meta: 
     model = models.Album 
     fields = (
      'artist', 
      'primary_genre', 
     ) 
     widgets = { 
      'artist': Select2Widget, 
      'primary_genre': Select2Widget, 

     } 

Es ist sehr einfach Select2Widget anpassen, wenn es brauchen wird.

Und die letzte - html Teil

{% load staticfiles %} 
<!DOCTYPE html> 
<html> 
<head> 
    {{ form.media.css }} 
    <style type="text/css"> 
    select { 
     width: 200px; 
    } 
    </style> 
</head> 
<body> 
<form method="post" action=""> 
    {% csrf_token %} 
    {{ form }} 
    <input type="submit" value="Submit Form"/> 
</form> 
<script src="{% static '//code.jquery.com/jquery-2.1.4.min.js' %}"></script> 
<script type="text/javascript"> 
    window.onerror = function (msg) { 
    $("body").attr("JSError", msg); 
    } 
</script> 
{{ form.media.js }} 
</body> 
+1

Vielen Dank für Ihr Arbeitsbeispiel. – Sardathrion

Verwandte Themen