【问题标题】:django redirect inside of urls.pydjango 在 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,这是什么问题?

【问题讨论】:

    标签: python django


    【解决方案1】:

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

    【讨论】:

    • 对不起,就是这样。我应该把它包括在内。请查看我的编辑。
    • @jefffabiny 这只会在 import 语句中给你一个语法错误。
    • 正确。为了我自己的利益,我在这里走得太快了……再一次,就像我的文件中的那样。我又改正了。
    • @jefffabiny 好的,我想这只是一个奇怪的错误消息。如果您在链接的问题中使用RedirectView,它将起作用。
    猜你喜欢
    • 2015-05-06
    • 2016-12-08
    • 2011-01-17
    • 2018-07-17
    • 1970-01-01
    • 2013-03-20
    • 2015-10-18
    • 1970-01-01
    • 2015-07-25
    相关资源
    最近更新 更多