【问题标题】:urls.py - redirect the / page to another appurls.py - 将 / 页面重定向到另一个应用程序
【发布时间】:2015-07-10 07:01:54
【问题描述】:

两天以来,我正在尝试将根页面“/”重定向到另一个 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,一切正常,因此视图和模板是正确的。

【问题讨论】:

    标签: django django-views django-urls


    【解决方案1】:

    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/'
    

    【讨论】:

      猜你喜欢
      • 2019-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多