django - 附加斜线不起作用

标签 django django-views

我有这个 urlConf 并且它在使用尾部斜杠访问时工作正常。:

urlpatterns = patterns('', url(r'^allvideo/$','my.views.allvideo'))

尽管
APPEND_SLASH=True

它给我属性错误“'str'对象没有属性'resolve'”,当请求丢失尾部斜杠时

有什么想法吗??

最佳答案

APPEND_SLASH 不会无条件地发生——它只有在尝试所有现有 URL 模式(以及相关的 View ,如果匹配)之后,Django 即将返回 404 时才会生效。

如果是这种情况,并且原始请求的末尾没有斜杠,那么 Django 将检查是否有任何 URL 模式与尾部斜杠匹配。如果是这样,它会发出 HTTP 重定向。

如果您的任何 URL 模式与原始请求匹配(不带斜杠),那么 Django 将首先尝试该请求。如果这引发了异常,那么您将看到它(我怀疑这就是正在发生的事情)。 Django 永远不会发出重定向。

关于django - 附加斜线不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9463173/

相关文章:

jquery - 为什么我的 ajax 函数不能无限滚动?

django - 在模板中显示 django-recurrence

mysql - 将 Django 项目部署到网站子文件夹

Django:将对象从模板传递到 View

python - Django session 设置默认 key 用法

python - Django断言post_save信号被调用

Django 查看响应时间问题

python - Django 全局名称 'PageNotAnInteger' 未定义

python - 如何在 Django View 之间传递数据

python - Django自定义身份验证模型注册表单返回唯一用户名错误