django重定向在urls.py中

时间:2014-06-11 17:27:56

标签: python django

我打算在我的django项目中有几个不同的应用程序,每个应用程序都是我想要玩的新技术。当我在每个上面工作时,我希望将根URL路径重定向到我正在处理的项目。

目录结构:

backyard/
    my_project/
        views.py
    backyard/
        urls.py

后院/后院/ urls.py:

from django.conf.urls import patterns, include, url
from django.shortcuts import redirect

urlpatterns = patterns('',

    url(r'^$', redirect('my_app/')),
    url(r'^my_project/$', 'my_project.views.homepage'),

)

后院/ MY_PROJECT / views.py

def homepage(request):
    return render_to_response('my_project/index.html', {'data':data})

当我在http:machine-name:8000/访问该页面时,我收到错误消息The included urlconf backyard.urls doesn't have any patterns in it我的urls.py中肯定有网址,问题是什么?

1 个答案:

答案 0 :(得分:5)

URLconf需要将正则表达式映射到视图 - redirect函数不返回视图;相反,它返回HttpResponse。您可以查看this question以获取如何直接在URLconf中定义重定向的示例。