Нечетное поведение Django при сопоставлении точки в URL - PullRequest
2 голосов
/ 14 февраля 2012

Если у меня следующий URL-адрес:

urlpatterns = patterns('',
    url(r'^projects-json$', 'projects.views.list'),
)

И я перехожу на /projects-json URL разрешается нормально.Обратите внимание, что косой черты нет.

Но я хочу, чтобы в URL была точка, а не дефис, поэтому я переписываю url conf следующим образом:

urlpatterns = patterns('',
    url(r'^projects\.json$', 'projects.views.list'),
)

Теперь, если я перейду к/projects.json Я перенаправлен на /projects.json/ и получаю 404 как следствие!Если я добавлю косую черту в шаблон URL, я получу ответ ОК на URL с косой чертой.Но я просто хочу одну простую вещь: сопоставить /projects.json без каких-либо перенаправлений и косых черт.Может ли Джанго это сделать?Я потерял так много времени на эту примитивную проблему.Может ли кто-нибудь обнаружить ошибку?

settings.APPEND_SLASH = False.Однако, похоже, это не имеет значения.На всякий случай это может иметь значение:

MEDIA_ROOT = ''
MEDIA_URL = '/media/'
ADMIN_MEDIA_PREFIX = '/admin-media/'

1 Ответ

5 голосов
/ 14 февраля 2012

У меня отлично работает (с APPEND_SLASH = False).Это может быть проблема с браузером, некоторые браузеры (например, Firefox) перенаправляют кеш, поэтому он будет перенаправлять вас после того, как на сервере вообще не будет перенаправления.Попробуйте в другом браузере.

...