当前位置:  开发笔记 > 编程语言 > 正文

如何在Django中重定向(包括URL更改)?

如何解决《如何在Django中重定向(包括URL更改)?》经验,为你挑选了1个好方法。

我创造了一个index.html.我想这个页面(或view当有人进入要显示)http://www.mypage.com/http://www.mypage.com/index/.由于我是新手Django,这可能是一个糟糕的方式:在我的URLS.PY中:

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$',views.index),
    url(r'^index/$',views.index),...
    ...

这工作正常,但我很好奇,是否有可能改变urlhttp://www.mypage.com/http://www.mypage.com/index/当有人进入http://www.mypage.com/.

我已经尝试过改变这个:

url(r'^$',views.index),

对此:

url(r'^$','/index/'),

但它会引发错误:

Could not import '/index/'. The path must be fully qualified.

有人可以给我一个建议怎么做吗?



1> 小智..:

如果你想通过代码这样做,它是:

from django.http import HttpResponseRedirect

def frontpage(request):
    ...
    return HttpResponseRedirect('/index/')

但您也可以直接在网址规则中执行此操作:

from django.views.generic import RedirectView

urlpatterns = patterns('',
    (r'^$', RedirectView.as_view(url='/index/')),
)

供参考,请参阅此帖子:https://stackoverflow.com/a/523366/5770129


最好使用`pattern_name ='index'`而不是`url ='/ index /'`,以避免对URL进行硬编码。
推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有