在urls.py中进行django重定向
我打算在我的Django项目里放几个不同的应用,每个应用都是我想尝试的新技术。在我开发每个应用的时候,我希望根网址能自动跳转到我正在做的项目。
目录结构:
backyard/
my_project/
views.py
backyard/
urls.py
backyard/backyard/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'),
)
backyard/my_project/views.py
def homepage(request):
return render_to_response('my_project/index.html', {'data':data})
当我访问这个页面 http:machine-name:8000/
时,出现了一个错误,提示 包含的urlconf backyard.urls没有任何模式
。我在我的urls.py里确实有网址,问题出在哪里呢?
1 个回答
6
一个URL配置需要把正则表达式和视图(也就是处理请求的函数)对应起来。redirect
这个函数并不是返回一个视图,而是返回一个HttpResponse
对象。你可以查看这个问题,里面有关于如何在URL配置中直接定义重定向的例子。