Si vous passez b via l'URL, il frappe la première définition d'URL. Si vous n'incluez pas le paramètre facultatif, il frappe la deuxième définition, mais va jusqu'à le même point de vue et utilise la valeur par défaut que vous avez fournis.
Je pense que c'est la partie la plus importante de la réponse. Pouvez-vous utiliser les deux définitions dans reverse('calculate', ...)? Oui, vous pouvez fournir à la fois des arguments et kwargs comme des attributs transmis à la méthode inverse. Super correct ! Sinon, depuis la définition des deux distincts url est nécessaire, vous pouvez spécifier la valeur par défaut du paramètre manquant dans l'url elle-même, pour conserver toutes les décisions dans un seul endroit: url(r'^calculate/$', 'calculate', {'b': 3}, name='calculate'),
Les arguments par défaut.
OriginalL'auteur Ignacio Vazquez-Abrams
Vous pouvez aussi avoir besoin de mettre à jour votre URL d'expédition pour répondre à la demande avec ou sans, le paramètre facultatif.
Si vous passez b via l'URL, il frappe la première définition d'URL. Si vous n'incluez pas le paramètre facultatif, il frappe la deuxième définition, mais va jusqu'à le même point de vue et utilise la valeur par défaut que vous avez fournis.
Pouvez-vous utiliser les deux définitions dans
reverse('calculate', ...)
?Oui, vous pouvez fournir à la fois des arguments et kwargs comme des attributs transmis à la méthode inverse.
Super correct ! Sinon, depuis la définition des deux distincts url est nécessaire, vous pouvez spécifier la valeur par défaut du paramètre manquant dans l'url elle-même, pour conserver toutes les décisions dans un seul endroit:
url(r'^calculate/$', 'calculate', {'b': 3}, name='calculate'),
OriginalL'auteur vjimw
En passant une valeur par défaut pour la méthode permet paramètre facultatif.
Dans votre cas vous pouvez faire:
Puis dans votre modèle, vous pouvez utiliser l'état pour des comportements différents:
OriginalL'auteur Kee
OriginalL'auteur taras1k