django 在 urls.py 中重定向
Posted
技术标签:
【中文标题】django 在 urls.py 中重定向【英文标题】:django redirect inside of urls.py 【发布时间】:2014-08-01 20:55:02 【问题描述】:我计划在我的 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 中肯定有 URL,这是什么问题?
【问题讨论】:
【参考方案1】:URLconf 需要将正则表达式映射到视图——redirect
函数不返回视图;相反,它返回一个HttpResponse
。您可以查看this question 以获取有关如何直接在 URLconf 中定义重定向的示例。
【讨论】:
对不起,就是这样。我应该把它包括在内。请查看我的编辑。 @jefffabiny 这只会在 import 语句中给你一个语法错误。 正确。为了我自己的利益,我在这里走得太快了……再一次,就像我的文件中的那样。我又改正了。 @jefffabiny 好的,我想这只是一个奇怪的错误消息。如果您在链接的问题中使用RedirectView
,它将起作用。以上是关于django 在 urls.py 中重定向的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Django 中使用来自 urls.py 的变量重定向 url 模式?