urls.py - 将/ page重定向到另一个应用程序

时间:2015-07-10 07:01:55

标签: django django-views django-urls

现在两天我试图将根页面'/'重定向到另一个urls.py

在阅读了如何做之后我写了这个:

url(r'^$', indlude('x.y.urls')),

这是我的x.y.core urls.py:

url(r'^$', IndexPageView.as_view(), name='index'),

但我收到404错误。

我试过很多东西,比如:

url(r'', indlude('x.y.urls'))

url(r'^$/', indlude('x.y.urls'))

和x.y.urls:

url(r'^$', IndexPageView.as_view(), name='index'),
url(r'', IndexPageView.as_view(), name='index'), 

使其成功的唯一方法是:

url(r'^$', IndexPageView.as_view()),

知道如何让它发挥作用吗?如果我直接将'/'重定向到IndexPageView,一切正常,所以视图和模板是正确的。

1 个答案:

答案 0 :(得分:2)

project.urls模式

url(r'^', include('some_app.urls', namespace='some_app')),

some_app.urls模式

url(r'^$', IndexPageView.as_view(), name='index'),
url(r'^other/view/$', OtherView.as_view(), name='other_view'),

例如,可能在IndexPageView

from django.core.urlresolvers import reverse

class IndexPageView(RedirectView):
    permanent = False

    def get_redirect_url(self, *args, **kwargs):
        if self.request.user is not None and self.request.user.is_superuser:
            return reverse('some_app:other_view')
        else:
            return '/accounts/login/'