django URL regex coincidencia opcional (tastypie)

Estoy usando sabroso por proporcionar una API para mi aplicación. Prefiero tener direcciones URL sin barras diagonales. yo prefiero /api/v1/entry/set/1;3 más bien que /api/v1/entry/set/1;3/. he desactivado django APPEND_SLASH y encendido TASTYPIE_ALLOW_MISSING_SLASH.

Esto funciona bien, a excepción de get_multiple (/set), cuya documentación no puede funcionar sin una barra inclinada al final. La expresión regular de la URL del código de la tarta es:

# Due to the way Django parses URLs, ``get_multiple`` won't work without
# a trailing slash.
...
url(r"^(?P<resource_name>%s)/set/(?P<%s_list>\w[\w/;-]*)/$" %
             (self._meta.resource_name, self._meta.detail_uri_name),
             self.wrap_view('get_multiple'), name="api_get_multiple"),
...

He comprobado que esto es cierto. /api/v1/notes/set/2;1 y /api/v1/notes/set/2;1/ coincide bien si APPEND_SLASH está habilitado, pero cambiando el / en la expresión regular anterior a /? hace que django no coincida con el patrón.

El patrón coincide correctamente cuando intento usar el re módulo manualmente. ¿Por qué Django no coincide con la URL sin la barra diagonal?

preguntado el 12 de junio de 12 a las 20:06

Lo que estás haciendo parece correcto. Solo puedo pensar que tal vez no esté actualizando el código correcto... Intente reemplazar la expresión regular con algo ridículo para ver. -

Me aseguré de estar editando el código correcto. El comentario indica que este comportamiento es lo que se supone que debe suceder. La pregunta que realmente tengo es por qué -

Así es como le gusta hacer las cosas a ese sabroso pastel. Es realmente molesto. -

En realidad está arreglado ahora, vea la respuesta. -

1 Respuestas

Esto ha sido arreglado. Mi solicitud de extracción se fusionó el 14 de junio de 2012.

Respondido 25 Jul 12, 01:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.