tengo una función en la vista como¿Cómo puedo pasar argumentos opcionales en vista de Django
def calculate(request , b)
Quiero que esta función debería funcionar incluso si b no se pasa a ella
tengo una función en la vista como¿Cómo puedo pasar argumentos opcionales en vista de Django
def calculate(request , b)
Quiero que esta función debería funcionar incluso si b no se pasa a ella
def calculate(request, b=3):
def calculate(request, b=None)
Pasando un valor por defecto para el método hace parámetro opcional.
En su caso, usted puede hacer:
def calculate(request, b=None)
pass
Luego, en su plantilla que puede utilizar condición para un comportamiento diferente:
{% if b %}
Case A
{% else %}
Case B
{% endif %}
También es posible que tenga que actualizar el despacho URL para manejar la petición con, o sin, el parámetro opcional.
url(r'^calculate/?(?P<b>\d+)?/?$', 'calculate', name='calculate'),
url(r'^calculate/$', 'calculate', name='calculate'),
Si pasa b por medio de la URL, se llega a la primera definición de URL. Si no incluye el parámetro opcional, accede a la segunda definición pero va a la misma vista y usa el valor predeterminado que proporcionó.
Creo que esta es la parte más importante de la respuesta. – SummerBreeze
¿Puedes usar ambas definiciones en 'reverse ('calculate', ...)'? – naktinis
Sí, puede proporcionar args y kwargs como atributos pasados al método inverso. – vjimw