2

I want to redirect users to the login page if they enter an invalid url, but I can only figure out how to render the login page without actually changing the url. Is it possible to redirect with handler404 in django? I have the handler404 in my root URLconf and debug mode set to False. Any help is greatly appreciated.

dakota
  • 65
  • 10

1 Answers1

3

You can try this Django, creating a custom 500/404 error page

and Designing Custom 404 And 500 Error Pages In Django

to redirect your custom url override described method in this link

def handler404(request, *args, **argv):
    return redirect('home')
shafik
  • 6,098
  • 5
  • 32
  • 50
  • Thank you for your response. I am interested in redirecting to a home page as opposed to creating a custom error page, but I am not sure if this is possible? – dakota Dec 23 '18 at 07:12
  • I'm sorry, I'm very new to django. So i have my URLconf as handler404 = 'app.views.handler404' and my view as def handler404(request): return redirect('home'). Is this correct? – dakota Dec 23 '18 at 07:39
  • test it. If throw problem, comment the error traceback – shafik Dec 23 '18 at 07:41
  • It's giving me Server Error(500) – dakota Dec 23 '18 at 07:50
  • How do I get a more detailed traceback? – dakota Dec 23 '18 at 08:06
  • Perfect! I got it to work, I just needed to add an exception argument to the handler404 view and change my home/ url path to a re_path so that it wouldn't get stuck in a redirect loop. Thank you for your help! – dakota Dec 23 '18 at 08:24