2017-02-19 1 views
0

Ich versuche, eine App zu schreiben, die unter anderem eine Liste von Hunden generieren wird, die zur Adoption verfügbar sind.Undersanding Djangos get_absolute_url mit umgekehrten

Im Moment, wenn ich versuche, diese Liste ich die folgende Fehlermeldung erhalten zu generieren:

Reverse for 'dog' with arguments '()' and keyword arguments '{'dog_id': 3, 'name': 'Rex'}' not found. 1 pattern(s) tried: ['ForeverHomes/Dog/(?P<dog_id>\\d+)/(P?<name>[A-Za-z ]+)'] 

Welche erhöhen wird, wenn Django die absolute URL über zu bekommen versucht:

def get_absolute_url(self): 
    return reverse('ForeverHomes:dog', 
        kwargs={"dog_id": self.dog_id, 
          "name": self.name}, 
        current_app="ForeverHomes") 

Das Muster Es ist das richtige Muster, aber das, was ich nicht verstehe, ist, wie mein Dog Objekt jemals zu einem regulären Ausdruck passen soll. Meine Dog Objekte haben alle eine dog_id und eine name, wenn das wichtig ist.

Antwort

1

Ich weiß nicht, was Sie meinen "wie mein Dog-Objekt jemals zu einem regulären Ausdruck passen soll".

Ihr Problem ist einfach, dass Sie einen fehlerhaften Regex haben: die ? und die P sind in der name Gruppe falsch herum.

+0

Vielen Dank. Ich habe mich mit Beispielen bemüht, herauszufinden, was ich vermisst habe, aber ich habe ganz falsch gesucht. – Batman

Verwandte Themen