django将空白URL重定向到命名url

时间:2015-01-11 10:32:53

标签: python django url

我有我的网址:

url(r'^home/', HomeQuestionView, name='home_question') ,

当我输入localhost:8000/home时,我会收到我的主页,但我想要的是当我刚进入时,我会收到我的主页。 我的意思是,当用户仅输入我的网站www.xyz.com而不是www.xyz.com/home

时,我想重定向到上面的主页网址

我不想以这种方式配置

url(r'^', HomeQuestionView, name='home_question') ,

提前完成

2 个答案:

答案 0 :(得分:4)

使用通用RedirectView

from django.views.generic.base import RedirectView

url(r'^$', RedirectView.as_view(url='/home/')),

答案 1 :(得分:3)

我找到了这个解决方案(长话短说,您需要将views.py添加到主项目文件夹中,并进行将空路径重定向到url的视图):

  1. 在urlpatterns中的urls.py中添加以下内容:

    urlpatterns = [
    ...
    path("", views.home, name="home"),
    ...
    ]
    
  2. 在Django主文件夹中创建views.py并将其导入urls.py example

  3. 在views.py中添加以下代码:

    from django.shortcuts import render, redirect
    
    def home(request):
        return redirect("blog:index") # redirect to your page
    
  4. 现在,每次您的URL都为空时,例如(localhost:8000),它将被重定向到(localhost:8000 / your_adress)。另外,您不仅可以将其用于空白网址,还可以在需要这种重定向的任何地方使用