首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从根重定向到出错的应用程序

从根重定向到出错的应用程序
EN

Stack Overflow用户
提问于 2014-05-09 11:27:18
回答 1查看 520关注 0票数 1

我想从/重定向到/post/,但是在一个试验测试中,我创建了某种循环引用,而不是去/post/,然后显示我的post索引,而是转到/post/post/post/...。在这个测试中,我做了urls -也包括,这是我的两个urls文件。

urls.py项目

代码语言:javascript
复制
urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls), name='admin'),
    url(r'^post/', include('post.urls'), name='post'),
    url(r'^/$', RedirectView.as_view(url='index'))
)

应用程序Post urls.py

代码语言:javascript
复制
urlpatterns = patterns(
    '',  # prefix
    url(r'^update/(?P<id>[1-9][0-9]*)', PostUpdateView.as_view(), name='post_update'),
    url(r'^delete/(?P<id>[1-9][0-9]*)', PostDeleteView.as_view(), name='post_delete'),
    url(r'^detail/(?P<id>[1-9][0-9]*)', PostDetailView.as_view(), name='post_detail'),
    url(r'^create/$', PostCreateView.as_view(), name='post_create'),
    url(r'^list/$', PostListView.as_view(), name='post_list'),
    url(r'^$', PostIndexView.as_view(), name='post_index')
)

更新:

问题是Firefox 26 (可能还有其他浏览器?)缓存301 (Django的RedirectView使用的默认重定向代码吗?)HTTP响应,如本StackOverflow文章中所解释的。

为了解决这个问题,您必须清除缓存(可能还有站点首选项)和总是将permanent=False添加到重定向,所以它使用302 (非缓存)而不是301 (缓存)响应。当你死了的时候,你可以改变它的默认行为--坚持使用重定向(即部署到生产环境)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-09 11:34:20

在您的项目urls.py中使用此方法。基本上,它只需对名称进行反向操作,并使用该url。文档

代码语言:javascript
复制
url(r'^$', RedirectView.as_view(pattern_name='post_index'))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23563431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档