Die Models sind dafür da um eine Datenbank mit den nötigen Tabellen zu erstellen. Im models.py werden die verschiedenen Tabellen mit den benötigten Feldern eingetragen. Anhand von den Models die man geschrieben hat, erstellt Django automatisch eine Datenbank mit allen Tabellen und Felder.
class Club(models.Model):
name = models.CharField(u'Clubname', max_length=255)
street_nr = models.CharField(u'Strasse', max_length=255)
plz = models.IntegerField(u'PLZ')
city = models.CharField(u'Stadt', max_length=255)
class Meta:
verbose_name = u'Club'
verbose_name_plural = u'Clubs'
def __unicode__(self):
return self.name
Die View im Django ist eigentlich die Logik des ganzen. Die View erhält eine Request, verarbeitet diese und danach wird eine Response ausgegeben.
def detail(request, slug):
party = Party.objects.get(slug=slug)
return render(request, 'events/detail.html', {
'object': party,
'guests': party.guests.all(),
})
Nachdem in der View alles bearbeitet wurde, wird das was man augeben will an einem Template übergeben das dann auf dem Bildschirm des Users angezeigt wird.
Die URLS werden benötigt um eine View aufzurufen oder überhaupt zugänglich zu machen.
url(r'^(?P<slug>[-\w]+)/$', 'detail',
name = 'party_detail'),
Eigentlich kann man sich das so vorstellen:
Ein user besucht eine website und klickt dort auf ein Link. Die URL die hinter diesem Link ist wird eine Funktion (View) aufrufen, diese View verarbeitet diese Anfrage des Users, holt sich wenn nötig Daten aus der Datenbank, (erstellt mit models.py) und gibt eine Antwort auf seine Anfrage mittels einem Template zurück.