Переадресация Django для легального php url - PullRequest
1 голос
/ 16 июня 2011

В основном я хочу сделать следующее:

urlpatterns = patterns('',
    url(r'^old/site/url.php?someshit=(?P<id>\d+)', 
    'website.views.redirect_php'),
)

Но я всегда получаю 404 ..

Я также пытался сбежать, как это

urlpatterns = patterns('',
    url(r'^old/site/url\.php\?someshit\=(?P<id>\d+)', 
    'website.views.redirect_php'),
)

Не повезло.

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 16 июня 2011

То, что вы делаете, не работает, потому что параметры GET не включены в строку, которая соответствует URLconf.(См. Что ищет URLconf против .)

Чтобы достичь желаемого поведения, вам нужно извлечь параметр GET из представления и перенаправить в соответствии с.

urlpatterns = patterns('',
    url(r'^old/site/url\.php$',
        view='website.views.redirect_php', 
        name='redirect_php'
    ),
)

и по вашему мнению:

def redirect_php(request):
    id = request.GET.get("somesheet", None)
    if id == None:
        # handle case where "somesheet=?" was not provided
    else:
        # handle redirects based on id
0 голосов
/ 16 июня 2011

Попробуйте:

urlpatterns = patterns('',
    url(r'^old/site/url\.php?someshit=(?P<id>\d+)$',
    'website.views.redirect_php', name='redirect_php'),
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...