2010-08-18 4 views
1
urlpatterns = patterns('', 
    #(r'admin/main/report/', main_page_redirect), 
    (r'^admin/', include(admin.site.urls)), 
    (r'^', main_page_redirect), 
) 


def main_page_redirect(request): 
    return HttpResponseRedirect('/admin/main/report/?e=+2') 

тогда, когда я пытаюсь перейти в/localhost, тогда он становится бесконечным циклом. Кто-нибудь знает, как его перенести?django: диспетчер URL-адресов -> бесконечный цикл

ответ

0

какой у вас LOGIN_URL в settings.py установлен на? Административный сайт может пытаться перенаправить вас на страницу входа в систему, которая может быть перенаправлена ​​на сайт администратора. Просто идея.

+0

есть LOGIN_URL в settings.py – Grey

+0

никаких LOGIN_URL в настройках – Grey

+0

это был выстрел в темноте, но стоит проверить –

0

Я смог воссоздать эту же вещь, не имея представления, сопоставленного с admin/main/report /.

Я не знаю, почему, но если вы создаете вид и раскомментируйте ваш URLPATTERN для администратора/основной/отчет/(и не использовать main_page_redirect для этой точки зрения, вы должны быть хорошо идти.

Здесь мой пример:.

def something(request): 
    return http.HttpResponseRedirect('/admin/main/report/') 

def somethingelse(request): 
    return http.HttpResponse("here") 

urlpatterns = patterns('', 
    url(r'admin/main/report/', somethingelse), #without this i get an infinite loop 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'', something), 
) 
+0

, но мне нужно это 2 для перенаправления на той же странице они. оба идут в '/ admin/main/report /? e = + 2' – Grey

+0

вы не можете перенаправить/admin/main/report/to/admin/m ain/report /? ничего, потому что вы всегда будете перенаправлять на себя ... что-нибудь в querystring (после?) не считается частью маршрута Django ... что вы можете сделать, это что-то вроде «e = request.GET. get ('q', '+2') "в вашем представлении по умолчанию? e = + 2 –